playMaker

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.


Messages - ashwini

Pages: [1]
1
To add context here:
Received Beta v1.8 Playmaker dlls from Alex(through mail) for testing.

Test Result:
Got below mentioned error while importing the WP8-Playmaker plugin.
I tested it twice.Got the same result.

Exception, while importing it:
--
Assets/External/PlayMaker/Editor/FsmComponentInspector.cs(332,36): error CS1501: No overload for method `GetFsmVariableList' takes `2' arguments
--

Due to this, I was not able to import it. Even I tried on different version of Unity(4.5.3final) there too I received the same issue.

Informed Alex about it.

2
We tried with the Beta-14 version. Getting the following exception -

Internal compiler error. See the console log for more information. output was:
Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.
at (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool)

which shows the playmaker.dll does not support windows phone.

3
Could you please provide the ETA for Beta 16?
Meanwhile we can try with Beta 14(but seems from your comment, that it the issue is NOT fixed in Beta 15 & Beta 14).

4
Playmaker dll used: Windows Add-on
Unity Version: 4.5.3

Issue:
The serialization/deserialization of the FsmVar object fails on windows-phone(the same works on unity-editor & Android-phone).
Same playmaker.dll works for Android & Unity-Editor but fails for windows target.

With the help of our the simple recreate[attached], we identified that the problem is happening due to ‘mismatch in HashCodes  values returned(for a string) by Monodevelop(used for serialization of scenes etc. by unity compiler) and by windows-supportive-playmaker dll while de-serializing the scenes etc’.
 
So, when Unity compiler serialize a scene(while building for a target), it uses  Hashcode values returned by Monodevelop string.GetHashCode(). Now while running the target build in window phone, the playmaker dll (before populating FsMVar Fields)compares the stored Hashcode with the hashcode returned by ‘ActionData.GetActionTypeHashCode (actionType)’ API. Since the value returned by ‘ActionData.GetActionTypeHashCode (actionType))’ is different than the one that was used for serialization by Unity, the Hashcode match fails, and hence it doesn’t deserialize the field correctly( and make it Float by default), and hence loading of Scenes fails.
 
The playmaker does this de-serialization in ‘CreateAction’ method of ‘HutongGames.PlayMaker.ActionData’ Class, in the following lines:
 
CodeSnippet: ( from CreateAction’ method of ‘HutongGames.PlayMaker.ActionData)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>               int num = this.actionHashCodes [actionIndex];     -----Gets the hash-code value used by Unity Compiled.
               if (num == ActionData.GetActionTypeHashCode (actionType))  -----Compare the above hash-code value with the one returned by ‘GetActionTypeHashCode’ for that actionType.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
For example: for  "System.StringHutongGames.PlayMaker.FsmVarSystem.Boolean".GetHashCode();
Monodevelop returns:  -951609300
While Visual Studio(using Playmaker.dll) returns:  -1941977249
 
Hence, it is clearly identified as playmaker issue.

Hi Playmaker team, could you please look into this at the earliest?

Pages: [1]