HutongGames.PlayMaker; //需要引用这个命名空间

红色的字体是对变量的操作,其他的没啥关系.

#region 判断为 PlayMakerFSM 组件时
if (behaviour.GetType() == typeof(PlayMakerFSM))
{
PlayMakerFSM temp_PlayMakerFSM = behaviour as PlayMakerFSM;
compKey = temp_PlayMakerFSM.Fsm.Name;//拿到状态机的名字,如 FSM01 #region 操作 float 类型的变量(其他类型的变量也类似)
//拿到 PlayMakerFSM组件 的所有Float类型的变量值,存在数组里
NamedVariable[] floatArray = temp_PlayMakerFSM.FsmVariables.GetNamedVariables(VariableType.Float);
//Debug.Log("floatArray长度:" + floatArray.Length);
foreach (var variable in floatArray)
{
//判断变量是否是 inspector 的,是的话再判断是什么类型的,存入相应的字典里
if (variable.ShowInInspector == true)
{
//得到变量的要存到字典的Value (variable.RawValue 也可以拿到变量值,不过应该是FsmFloat类型的)
float variableValue = float.Parse(variable.ToString());//拿到变量的值(它是FsmFloat类型的,要先转换为string,再转为float)
                        //Vector3也是一样的,它是FsmVector3类型的,先转为string再转为Vector3(vector3与string转换方法,http://www.cnblogs.com/Peng18233754457/p/8653663.html)
//Quaternion也是一样的,网上有string与Quaternion的转换方法,http://www.cnblogs.com/Peng18233754457/p/8763137.html
//((FsmFloat)variable).Value = 1.23;//改变变量的值
//得到变量的要存到字典的Key (变量的名称)
string variableKey = variable.Name;//拿到变量的名称 //字典里不包含这个键,就直接加进去
if (!float_TempDic.ContainsKey(variableKey))
{
float_TempDic.Add(variableKey, variableValue);
}
//字典里包含这个键,就改掉这个键对应的值
else
{
float_TempDic[variableKey] = variableValue;
} //当这个字典里有东西的时候
if (float_TempDic.Keys.Count != )
{
//加到外层字典
if (!describePath.comp_FloatVar_Val.ContainsKey(compKey))
{
//describePath.comp_FloatVar_Val.Add(compKey, float_TempDic);
describePath.comp_FloatVar_Val.Add(compKey, JsonUtility.ToJson(new Serialization<string, float>(float_TempDic)));
}
else
{
describePath.comp_FloatVar_Val[compKey] = JsonUtility.ToJson(new Serialization<string, float>(float_TempDic));
} float_TempDic.Clear();
}
}
}

最新文章

  1. Python标准模块--collections
  2. angular 兼容ie7 实现
  3. 查询sqlserver 正在执行的sql语句的详细信息
  4. css多行文本省略号
  5. c# File 操作
  6. [C语言 - 3] 字符串
  7. Android 4.4 Kitkat 使能 USB adb 功能
  8. ThinkPHP 下载、导入、导出功能的设计与实现
  9. C++ 默认参数(转载)
  10. mysql主从同步(4)-Slave延迟状态监控
  11. Myeclipse快速补充返回值快捷键
  12. redis测试实践
  13. nacos作为配置中心
  14. 我的react+material-ui之路
  15. app性能测试,你需要关注哪些指标?
  16. EFI Windows 7 activition
  17. Android 监听 ScrollView 滑动到最底部。
  18. f5 V11 TMSH命令行操作手册
  19. sql语句之where子句
  20. Java方法containsAll学习

热门文章

  1. C语言关键字:auto、static、register、const、volatile 、extern 总结 &lt;转&gt;
  2. Java 分析模板方法设计模型
  3. ROS nodelet 理解记录
  4. Zinterstore 命令
  5. adb 无法调试的问题,ADB server didn&#39;t ACK,* failed to start daemon *
  6. .NET DataTable DataSet转json代码
  7. loj #2254. 「SNOI2017」一个简单的询问
  8. spring-redis 存储数据
  9. 分割字符串(C++)
  10. tarjan算法,一个关于 图的联通性的神奇算法