示例#1
0
 public FsmGameObject(AssetNameResolver namer, AssetTypeValueField field) : base(field)
 {
     value = StructUtil.ReadNamedAssetPPtr(namer, field.Get("value"));
     if (name == "")
     {
         name = value.name;
     }
 }
示例#2
0
 public FsmEventTarget(AssetNameResolver namer, AssetTypeValueField field)
 {
     target         = (EventTarget)field.Get("target").GetValue().AsInt();
     excludeSelf    = new FsmBool(namer, field.Get("excludeSelf"));
     gameObject     = new FsmOwnerDefault(namer, field.Get("gameObject"));
     fsmName        = new FsmString(namer, field.Get("fsmName"));
     sendToChildren = new FsmBool(namer, field.Get("sendToChildren"));
     fsmComponent   = StructUtil.ReadNamedAssetPPtr(namer, field.Get("fsmComponent"));
 }
示例#3
0
 public FsmTemplateControl(AssetNameResolver namer, AssetTypeValueField field)
 {
     fsmTemplate     = StructUtil.ReadAssetPPtr(field.Get("fsmTemplate"));
     fsmVarOverrides = new FsmVarOverride[field.Get("fsmVarOverrides").GetChildrenCount()];
     for (int i = 0; i < fsmVarOverrides.Length; i++)
     {
         fsmVarOverrides[i] = new FsmVarOverride(namer, field.Get("fsmVarOverrides")[i]);
     }
 }
示例#4
0
 public FsmVar(AssetNameResolver namer, AssetTypeValueField field)
 {
     variableName    = field.Get("variableName").GetValue().AsString();
     objectType      = field.Get("objectType").GetValue().AsString();
     useVariable     = field.Get("useVariable").GetValue().AsBool();
     type            = (VariableType)field.Get("type").GetValue().AsInt();
     floatValue      = field.Get("floatValue").GetValue().AsFloat();
     intValue        = field.Get("intValue").GetValue().AsInt();
     boolValue       = field.Get("boolValue").GetValue().AsBool();
     stringValue     = field.Get("stringValue").GetValue().AsString();
     vector4Value    = new Vector4(field.Get("vector4Value"));
     objectReference = StructUtil.ReadNamedAssetPPtr(namer, field.Get("objectReference"));
     arrayValue      = new FsmArray(namer, field.Get("arrayValue"));
 }
示例#5
0
 public ActionData(AssetNameResolver namer, AssetTypeValueField field)
 {
     actionNames              = StructUtil.ReadAssetList <string>(namer, field.Get("actionNames"));
     customNames              = StructUtil.ReadAssetList <string>(namer, field.Get("customNames"));
     actionEnabled            = StructUtil.ReadAssetList <bool>(namer, field.Get("actionEnabled"));
     actionIsOpen             = StructUtil.ReadAssetList <bool>(namer, field.Get("actionIsOpen"));
     actionStartIndex         = StructUtil.ReadAssetList <int>(namer, field.Get("actionStartIndex"));
     actionHashCodes          = StructUtil.ReadAssetList <int>(namer, field.Get("actionHashCodes"));
     unityObjectParams        = StructUtil.ReadAssetList <NamedAssetPPtr>(namer, field.Get("unityObjectParams"));
     fsmGameObjectParams      = StructUtil.ReadAssetList <FsmGameObject>(namer, field.Get("fsmGameObjectParams"));
     fsmOwnerDefaultParams    = StructUtil.ReadAssetList <FsmOwnerDefault>(namer, field.Get("fsmOwnerDefaultParams"));
     animationCurveParams     = StructUtil.ReadAssetList <FsmAnimationCurve>(namer, field.Get("animationCurveParams"));
     functionCallParams       = StructUtil.ReadAssetList <FsmFunctionCall>(namer, field.Get("functionCallParams"));
     fsmTemplateControlParams = StructUtil.ReadAssetList <FsmTemplateControl>(namer, field.Get("fsmTemplateControlParams"));
     fsmEventTargetParams     = StructUtil.ReadAssetList <FsmEventTarget>(namer, field.Get("fsmEventTargetParams"));
     fsmPropertyParams        = StructUtil.ReadAssetList <FsmProperty>(namer, field.Get("fsmPropertyParams"));
     layoutOptionParams       = StructUtil.ReadAssetList <FsmLayoutOption>(namer, field.Get("layoutOptionParams"));
     fsmStringParams          = StructUtil.ReadAssetList <FsmString>(namer, field.Get("fsmStringParams"));
     fsmObjectParams          = StructUtil.ReadAssetList <FsmObject>(namer, field.Get("fsmObjectParams"));
     fsmVarParams             = StructUtil.ReadAssetList <FsmVar>(namer, field.Get("fsmVarParams"));
     fsmArrayParams           = StructUtil.ReadAssetList <FsmArray>(namer, field.Get("fsmArrayParams"));
     fsmEnumParams            = StructUtil.ReadAssetList <FsmEnum>(namer, field.Get("fsmEnumParams"));
     fsmFloatParams           = StructUtil.ReadAssetList <FsmFloat>(namer, field.Get("fsmFloatParams"));
     fsmIntParams             = StructUtil.ReadAssetList <FsmInt>(namer, field.Get("fsmIntParams"));
     fsmBoolParams            = StructUtil.ReadAssetList <FsmBool>(namer, field.Get("fsmBoolParams"));
     fsmVector2Params         = StructUtil.ReadAssetList <FsmVector2>(namer, field.Get("fsmVector2Params"));
     fsmVector3Params         = StructUtil.ReadAssetList <FsmVector3>(namer, field.Get("fsmVector3Params"));
     fsmColorParams           = StructUtil.ReadAssetList <FsmColor>(namer, field.Get("fsmColorParams"));
     fsmRectParams            = StructUtil.ReadAssetList <FsmRect>(namer, field.Get("fsmRectParams"));
     fsmQuaternionParams      = StructUtil.ReadAssetList <FsmQuaternion>(namer, field.Get("fsmQuaternionParams"));
     stringParams             = StructUtil.ReadAssetList <string>(namer, field.Get("stringParams"));
     byteData          = StructUtil.ReadAssetList <byte>(namer, field.Get("byteData"));
     arrayParamSizes   = StructUtil.ReadAssetList <int>(namer, field.Get("arrayParamSizes"));
     arrayParamTypes   = StructUtil.ReadAssetList <string>(namer, field.Get("arrayParamTypes"));
     customTypeSizes   = StructUtil.ReadAssetList <int>(namer, field.Get("customTypeSizes"));
     customTypeNames   = StructUtil.ReadAssetList <string>(namer, field.Get("customTypeNames"));
     paramDataType     = StructUtil.ReadAssetList <ParamDataType>(namer, field.Get("paramDataType"));
     paramName         = StructUtil.ReadAssetList <string>(namer, field.Get("paramName"));
     paramDataPos      = StructUtil.ReadAssetList <int>(namer, field.Get("paramDataPos"));
     paramByteDataSize = StructUtil.ReadAssetList <int>(namer, field.Get("paramByteDataSize"));
 }
示例#6
0
        private void GetVariableValues(List <FsmVariableData> varData, AssetNameResolver namer, AssetTypeValueField variables)
        {
            AssetTypeValueField floatVariables      = variables.Get("floatVariables");
            AssetTypeValueField intVariables        = variables.Get("intVariables");
            AssetTypeValueField boolVariables       = variables.Get("boolVariables");
            AssetTypeValueField stringVariables     = variables.Get("stringVariables");
            AssetTypeValueField vector2Variables    = variables.Get("vector2Variables");
            AssetTypeValueField vector3Variables    = variables.Get("vector3Variables");
            AssetTypeValueField colorVariables      = variables.Get("colorVariables");
            AssetTypeValueField rectVariables       = variables.Get("rectVariables");
            AssetTypeValueField quaternionVariables = variables.Get("quaternionVariables");
            AssetTypeValueField gameObjectVariables = variables.Get("gameObjectVariables");
            AssetTypeValueField objectVariables     = variables.Get("objectVariables");
            AssetTypeValueField materialVariables   = variables.Get("materialVariables");
            AssetTypeValueField textureVariables    = variables.Get("textureVariables");
            AssetTypeValueField arrayVariables      = variables.Get("arrayVariables");
            AssetTypeValueField enumVariables       = variables.Get("enumVariables");
            FsmVariableData     floats = new FsmVariableData()
            {
                Type = "Floats", Values = new List <Tuple <string, object> >()
            };

            varData.Add(floats);
            for (int i = 0; i < floatVariables.GetValue().AsArray().size; i++)
            {
                string name  = floatVariables.Get(i).Get("name").GetValue().AsString();
                object value = floatVariables.Get(i).Get("value").GetValue().AsFloat();
                floats.Values.Add(new Tuple <string, object>(name, value));
            }
            FsmVariableData ints = new FsmVariableData()
            {
                Type = "Ints", Values = new List <Tuple <string, object> >()
            };

            varData.Add(ints);
            for (int i = 0; i < intVariables.GetValue().AsArray().size; i++)
            {
                string name  = intVariables.Get(i).Get("name").GetValue().AsString();
                object value = intVariables.Get(i).Get("value").GetValue().AsInt();
                ints.Values.Add(new Tuple <string, object>(name, value));
            }
            FsmVariableData bools = new FsmVariableData()
            {
                Type = "Bools", Values = new List <Tuple <string, object> >()
            };

            varData.Add(bools);
            for (int i = 0; i < boolVariables.GetValue().AsArray().size; i++)
            {
                string name  = boolVariables.Get(i).Get("name").GetValue().AsString();
                object value = boolVariables.Get(i).Get("value").GetValue().AsBool().ToString();
                bools.Values.Add(new Tuple <string, object>(name, value));
            }
            FsmVariableData strings = new FsmVariableData()
            {
                Type = "Strings", Values = new List <Tuple <string, object> >()
            };

            varData.Add(strings);
            for (int i = 0; i < stringVariables.GetValue().AsArray().size; i++)
            {
                string name  = stringVariables.Get(i).Get("name").GetValue().AsString();
                object value = stringVariables.Get(i).Get("value").GetValue().AsString();
                strings.Values.Add(new Tuple <string, object>(name, value));
            }
            FsmVariableData vector2s = new FsmVariableData()
            {
                Type = "Vector2s", Values = new List <Tuple <string, object> >()
            };

            varData.Add(vector2s);
            for (int i = 0; i < vector2Variables.GetValue().AsArray().size; i++)
            {
                string name = vector2Variables.Get(i).Get("name").GetValue().AsString();
                AssetTypeValueField vector2 = vector2Variables.Get(i).Get("value");
                object value = new Vector2(vector2);
                vector2s.Values.Add(new Tuple <string, object>(name, value));
            }
            FsmVariableData vector3s = new FsmVariableData()
            {
                Type = "Vector3s", Values = new List <Tuple <string, object> >()
            };

            varData.Add(vector3s);
            for (int i = 0; i < vector3Variables.GetValue().AsArray().size; i++)
            {
                string name = vector3Variables.Get(i).Get("name").GetValue().AsString();
                AssetTypeValueField vector3 = vector3Variables.Get(i).Get("value");
                object value = new Vector2(vector3);
                vector3s.Values.Add(new Tuple <string, object>(name, value));
            }
            FsmVariableData colors = new FsmVariableData()
            {
                Type = "Colors", Values = new List <Tuple <string, object> >()
            };

            varData.Add(colors);
            for (int i = 0; i < colorVariables.GetValue().AsArray().size; i++)
            {
                string name = colorVariables.Get(i).Get("name").GetValue().AsString();
                AssetTypeValueField color = colorVariables.Get(i).Get("value");
                object value = new UnityColor(color);
                colors.Values.Add(new Tuple <string, object>(name, value));
            }
            FsmVariableData rects = new FsmVariableData()
            {
                Type = "Rects", Values = new List <Tuple <string, object> >()
            };

            varData.Add(rects);
            for (int i = 0; i < rectVariables.GetValue().AsArray().size; i++)
            {
                string name = rectVariables.Get(i).Get("name").GetValue().AsString();
                AssetTypeValueField rect = rectVariables.Get(i).Get("value");
                object value             = new UnityRect(rect);
                rects.Values.Add(new Tuple <string, object>(name, value));
            }
            FsmVariableData quaternions = new FsmVariableData()
            {
                Type = "Quaternions", Values = new List <Tuple <string, object> >()
            };

            varData.Add(quaternions);
            for (int i = 0; i < quaternionVariables.GetValue().AsArray().size; i++)
            {
                string name = quaternionVariables.Get(i).Get("name").GetValue().AsString();
                AssetTypeValueField quaternion = quaternionVariables.Get(i).Get("value");
                object value = new Quaternion(quaternion);
                quaternions.Values.Add(new Tuple <string, object>(name, value));
            }
            string[] pptrTypeHeaders             = new[] { "GameObjects", "Objects", "Materials", "Textures" };
            AssetTypeValueField[] pptrTypeFields = new[] { gameObjectVariables, objectVariables, materialVariables, textureVariables };
            for (int j = 0; j < pptrTypeHeaders.Length; j++)
            {
                string header             = pptrTypeHeaders[j];
                AssetTypeValueField field = pptrTypeFields[j];

                if (field.IsDummy())
                {
                    continue;
                }

                FsmVariableData genericData = new FsmVariableData()
                {
                    Type = header, Values = new List <Tuple <string, object> >()
                };
                varData.Add(genericData);
                for (int i = 0; i < field.GetValue().AsArray().size; i++)
                {
                    string name = field.Get(i).Get("name").GetValue().AsString();
                    AssetTypeValueField valueField = field.Get(i).Get("value");
                    NamedAssetPPtr      pptr       = StructUtil.ReadNamedAssetPPtr(namer, valueField);
                    object value;
                    if (pptr.pathID == 0)
                    {
                        value = "[null]";
                    }
                    else
                    {
                        value = pptr;
                    }
                    genericData.Values.Add(new Tuple <string, object>(name, value));
                }
            }
        }
示例#7
0
 public FsmObject(AssetNameResolver namer, AssetTypeValueField field) : base(field)
 {
     value = StructUtil.ReadNamedAssetPPtr(namer, field.Get("value"));
 }