Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Tricky_Widget

Pages: [1] 2
Share New Actions / New asset: EasyNet - With full PM support!
« on: February 19, 2016, 03:29:26 PM »

Unity Asset Store: EasyNet

EasyNet is a simple network asset that allows you to send and receive messages. It makes networking ridiculously easy!

EasyNet takes the power and reliability of the built-in UNET engine and distills it down to a very easy interface. You can send a message with a single line of code, and receive it with just two lines. You don't have to worry about connections, custom classes, event handlers, or other complications. It just works.

But if you want a bit more flexibility, EasyNet can give you that, too. It provides easy access to basic network information and management.

You can send messages of any basic C# type, most basic Unity types, arrays, and BinaryFormatter types. Each message can also include an ID to give it additional meaning.

EasyNet features full inline descriptions in MonoDevelop or Visual Studio, a set of useful examples, and complete documentation.
Download the EasyNet Manual

Also included are a full set of PlayMaker actions and examples, including support for the new Array variable.
Download the EasyNet PlayMaker Manual

If you have any questions, just let me know!

Unity Asset Store: EasyNet

PlayMaker Help / Any way to set the action name in code? [Solved]
« on: February 12, 2016, 08:11:24 PM »
I'm making a bunch of actions, and their (necessary) class names make for terrible action names.  Is there any way to set the action name to something else within the code?

I see there is a [Title("")]  attribute for fields.  Maybe something similar for the action name?


PlayMaker Help / How to access HutongGames.PlayMakerEditor.VersionInfo?
« on: January 02, 2016, 10:21:29 AM »
I have an asset that needs to handle the differences between PlayMaker 1.7 and 1.8.  So I need to check the PM version in code.  I see that there is a HutongGames.PlayMakerEditor.VersionInfo, but I can't figure out how to access it.  Can anyone help?


Share New Actions / Smooth Save for PlayMaker
« on: October 18, 2015, 08:24:54 AM »

Unity Asset Store: Smooth Save for PlayMaker

Smooth Save is an easy and flexible save game solution for PlayMaker.

For simple games, you can save or load your whole game with a single action. It just works. It's that easy!

But if you need more power, Smooth Save is ready for that, too. You can reference any variable by a unique key and you can save as many data pools as you need. You can save exactly what you want, exactly the way you want it.

Smooth Save data is also cheat resistant. Instead of easily modified text files (XML, JSON, etc), it uses binary serialization. This prevents casual cheating by general users.

Provided are 37 PlayMaker actions that go far beyond PlayerPrefs. There are actions for saving variables in bulk, individual actions for each type, data pool management, memory debugging, result events, and more.

New in 1.2
Now featuring support for the new Array and Enum variables in PlayMaker 1.8!
You must use the "PlayMaker/Smooth Save/Configure..." menu to enable 1.8 support!

Smooth Save directly supports PlayMaker variables of type Bool, Color, Enum, Float, Int, Quaternion, Rect, String, Vector2, and Vector3. It also supports core GameObject properties, and Array variables of the types above. And it can save most any other value in the game indirectly with the Get Property and Set Property actions.

Smooth Save is the only save game asset built from the ground up specifically for PlayMaker. Don't pay more for functionality you won't or can't use!

Includes a demo scene and complete documentation.
Download the documentation here.

If you have any questions, just drop me a line.

Unity Asset Store: Smooth Save for PlayMaker

I'm making a set of custom actions.  I need to be able to tell if a variable that my code gets is a global or not.  Is there any direct way to do this?  Or do I have to search through FsmVariables.GlobalVariables.typeVariables to see if there's a match?


PlayMaker Help / PM version-dependent code?
« on: July 31, 2015, 07:34:56 AM »
I'm writing actions for PM 1.8 which, in part, make use of the new array variable.  But I'd like the non-array parts to still be usable in 1.7.  Is there any way to put a directive in the code to select by version?

For Unity, you can do:
Code: [Select]
#if UNITY_4_6
// Unity 4.6 code
// Other code

Is there something like this for PlayMaker?


PlayMaker Help / Accessing FsmVariables in a custom action? [Solved]
« on: July 11, 2015, 11:10:39 AM »
I'm writing a custom action, and I need to reference other variables in the current FSM by name.  I've been doing a lot of searching, and it seems like everyone uses something like this:
Code: [Select]
FsmInt intVariable = this.Fsm.FsmVariables.GetFsmInt("Name");
But when I try that code myself, I get this error:
error CS1061: Type `HutongGames.PlayMaker.Fsm' does not contain a definition for `FsmVariables' and no extension method `FsmVariables' of type `HutongGames.PlayMaker.Fsm' could be found (are you missing a using directive or an assembly reference?)

I'm baffled by this, as a Google for "Fsm.FsmVariables" turns up 328 results.  It seems like "Fsm" really should contain a definition for "FsmVariables", and yet for me it insists that it does not.

Does anyone have any idea what I'm missing?


PlayMaker Help / Obscure timing error with global transition
« on: June 11, 2015, 12:42:57 PM »
I have what seems like a simple setup, but for some reason it breaks on occasion.  I've been working with this for two days and can't for the life of me figure it out.

I want to collect touch inputs to rotate a tile by 90 degrees.  If it is touched multiple times before the rotation tween completes, I want to queue the touches so it will rotate multiple times.  The queue size is limited so it doesn't get out of hand.

There is a different sprite for each tile orientation (north, east, south, west).  The sprite needs to be in sync with the tile rotating.  The sprite is updated at touch time so that it will be correct when the tile eventually stops rotating.

Attached is a simplified version of the logic I'm using to handle this.  The tween fires the global transition when it completes.

99% of the time it works perfectly.  However, once in a while it gets out of sync.  The sprite does not match the rotation.  This seems to happen when touching rapidly during a tween finish.  But I can't see how that could happen.

Can anyone see how this could go wrong?  Any input would be greatly appreciated.

PlayMaker Help / Getting global transition event sender from iTween?
« on: June 09, 2015, 10:03:19 AM »
I have an iTween action that's calling a global transition on finish.  In the "finish" state, I need to get the game object that was tweened.  But the "Get Event Info" action's "Sent by Game Object" comes back as "None".

How can I get the event sender in this scenario?


PlayMaker Help / Global transitions and logic flow [Solved]
« on: June 05, 2015, 07:35:50 AM »
I'm a bit confused about how an FSM handles global transitions and I'm hoping somebody can help me.

For example, I have an FSM that has a loop waiting for a touch event.  When it gets a touch, it starts a tween and then goes back into the loop.  Easy enough.

However, the tween has a finish event that calls a global transition in the same FSM.  When it finishes, it does some cleanup work and then goes back into the waiting-for-touch loop.

My question is how do these two separate portions of the FSM work in tandem?  Is the touch input loop still running when the tween finish is running?  Do I need to keep separate variables for each section so they don't collide?  For example, I have a Touched Object variable.  But it seems like it could be different for each section if there's a new touch being processed at the same time as a tween is finishing.

Attached is a simplified version of the scenario.

Any clarification would be much appreciated.  Thanks!

Share New Actions / Android Native Audio
« on: May 04, 2015, 08:40:26 AM »

Unity Asset Store: Android Native Audio

Unity's audio system is powerful, but on Android that power sometimes comes at a cost: latency! If you're finding a delay between when you expect a sound and when you hear it, Android Native Audio (ANA) can help.

ANA provides easy access to the native Android audio system for low-latency audio playback. You can play native audio with as few as three lines of code! ANA also features the complete range of audio controls offered by Android and detailed debug logging.

"Works perfectly, and it’s exactly what I needed – thanks Christopher! My whole game now works almost as fluent as on the iPhone"

New in 2.0
Introducing ANA Music! You can now play long tracks, great for rhythm games. You can even play music with the app in the background!

Also new is loading callbacks. Know exactly what has loaded and when.

Test the difference on your device right now!
Download ANA Test
Test the difference on your device right now!
Download ANA Music Test

Includes split application binary support. ANA will automatically find and load your sound files from either the APK or an OBB.

Includes demo scenes and complete documentation.
Download ANA Manual
Download ANA Music Manual

ANA also includes a full set of PlayMaker actions and a demo scene. Adding low-latency audio to your PM project is a snap!

Note that ANA bypasses the Unity audio system entirely, so it cannot use Unity features such as filters or 3D and will not work with other audio assets such as Master Audio.

Also note that audio latency can have many contributing factors, including hardware and Android itself. ANA only removes most of the latency generated by Unity. This will be different on every device. Use the test APKs above to check the reduction on specific devices.

If you have any questions, just drop me a line!

Unity Asset Store: Android Native Audio

PlayMaker Help / Does an FSM waiting for an event use CPU? [Solved]
« on: April 07, 2015, 12:52:29 PM »
I'm developing for mobile, so CPU use is critical.  I find I have a lot of FSMs that are sitting idle waiting on an event.  Are these waiting FSMs using CPU cycles while they're waiting?


PlayMaker Help / How to click/touch only the top object?
« on: March 30, 2015, 12:05:35 PM »
I have a 2D game with overlapping objects.  By default, using Mouse Pick 2d Event and Touch Object 2d Event registers for all objects at the click/touch location.  But I need to be able to click/touch and only have it register on the top object and not on the lower objects (top being the lowest Z position/closest to the camera).

For example, if I have objectA at Z -1 and objectB at Z -3, I only want to select objectB (and not objectA).

Does anyone know how to do this?  Thanks!

Feature Requests / Higher precision in Debug Variable Values view
« on: March 30, 2015, 10:57:48 AM »
When using the "Debug Variable Values" view in the Variables tab of an FSM, currently some values are rounded to the nearest tenth.  I regularly use values set to the hundredths, so this makes the view less useful.

For example, I have a Vector3 attackDestination set to 0.0, -0.56, -2.0.  But in the variables list it displays as 0.0, -0.6, -2.0.

There is plenty of room to display two decimal places, or even three or four.  It would be great if it did.  :)


Share New Actions / LeanTween Basic Actions 1.0.2
« on: March 20, 2015, 01:18:01 PM »
In developing for mobile, I found that iTween just wasn't fast enough.  In converting to LeanTween I not only removed most of the herky-jerky from my game, I also got a full 20FPS increase in frame rate!

These are the actions I made for my project.  They're just the basics, but should be usable for many situations.  Included are move, scale, rotate, alpha, pause, resume, and cancel.

If you find a bug or have any feedback, please post here or send me a private message.


(If you need a more robust solution, Flying Robot has a package of actions for a reasonable price.)


1.0.2 - March 21, 2015 - Fixed Lean Tween Pause, Resume, and Cancel
1.0.1 - March 20, 2015 - Fixed Tween ID

Pages: [1] 2