Example #1
0
        public static NamedAssetPPtr ReadNamedAssetPPtr(AssetNameResolver namer, AssetTypeValueField field)
        {
            int  fileId = field.Get("m_FileID").GetValue().AsInt();
            long pathId = field.Get("m_PathID").GetValue().AsInt64();

            return(namer.GetNamedPtr(new AssetPPtr(fileId, pathId)));
        }
Example #2
0
 public FsmGameObject(AssetNameResolver namer, AssetTypeValueField field) : base(field)
 {
     value = StructUtil.ReadNamedAssetPPtr(namer, field.Get("value"));
     if (name == "")
     {
         name = value.name;
     }
 }
Example #3
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"));
 }
Example #4
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]);
     }
 }
Example #5
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"));
 }
Example #6
0
 public FsmState(AssetNameResolver namer, AssetTypeValueField field)
 {
     name         = field.Get("name").GetValue().AsString();
     description  = field.Get("description").GetValue().AsString();
     colorIndex   = (byte)field.Get("colorIndex").GetValue().AsUInt();
     position     = new UnityRect(field.Get("position"));
     isBreakpoint = field.Get("isBreakpoint").GetValue().AsBool();
     isSequence   = field.Get("isSequence").GetValue().AsBool();
     hideUnused   = field.Get("hideUnused").GetValue().AsBool();
     transitions  = new FsmTransition[field.Get("transitions").GetChildrenCount()];
     for (int i = 0; i < transitions.Length; i++)
     {
         transitions[i] = new FsmTransition(field.Get("transitions")[i]);
     }
     actionData = new ActionData(namer, field.Get("actionData"));
 }
Example #7
0
 public FsmFunctionCall(AssetNameResolver namer, AssetTypeValueField field)
 {
     FunctionName        = field.Get("FunctionName").GetValue().AsString();
     parameterType       = field.Get("parameterType").GetValue().AsString();
     BoolParameter       = new FsmBool(namer, field.Get("BoolParameter"));
     FloatParameter      = new FsmFloat(namer, field.Get("FloatParameter"));
     IntParameter        = new FsmInt(namer, field.Get("IntParameter"));
     GameObjectParameter = new FsmGameObject(namer, field.Get("GameObjectParameter"));
     ObjectParameter     = new FsmObject(namer, field.Get("ObjectParameter"));
     StringParameter     = new FsmString(namer, field.Get("StringParameter"));
     Vector2Parameter    = new FsmVector2(namer, field.Get("Vector2Parameter"));
     Vector3Parameter    = new FsmVector3(namer, field.Get("Vector3Parameter"));
     RectParamater       = new FsmRect(namer, field.Get("RectParamater"));
     QuaternionParameter = new FsmQuaternion(namer, field.Get("QuaternionParameter"));
     MaterialParameter   = new FsmObject(namer, field.Get("MaterialParameter"));
     TextureParameter    = new FsmObject(namer, field.Get("TextureParameter"));
     ColorParameter      = new FsmColor(namer, field.Get("ColorParameter"));
     EnumParameter       = new FsmEnum(namer, field.Get("EnumParameter"));
     ArrayParameter      = new FsmArray(namer, field.Get("ArrayParameter"));
 }
Example #8
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"));
 }
Example #9
0
 public FsmProperty(AssetNameResolver namer, AssetTypeValueField field)
 {
     TargetObject        = new FsmObject(namer, field.Get("TargetObject"));
     TargetTypeName      = field.Get("TargetTypeName").GetValue().AsString();
     PropertyName        = field.Get("PropertyName").GetValue().AsString();
     BoolParameter       = new FsmBool(namer, field.Get("BoolParameter"));
     FloatParameter      = new FsmFloat(namer, field.Get("FloatParameter"));
     IntParameter        = new FsmInt(namer, field.Get("IntParameter"));
     GameObjectParameter = new FsmGameObject(namer, field.Get("GameObjectParameter"));
     ObjectParameter     = new FsmObject(namer, field.Get("ObjectParameter"));
     StringParameter     = new FsmString(namer, field.Get("StringParameter"));
     Vector2Parameter    = new FsmVector2(namer, field.Get("Vector2Parameter"));
     Vector3Parameter    = new FsmVector3(namer, field.Get("Vector3Parameter"));
     RectParamater       = new FsmRect(namer, field.Get("RectParamater"));
     QuaternionParameter = new FsmQuaternion(namer, field.Get("QuaternionParameter"));
     MaterialParameter   = new FsmObject(namer, field.Get("MaterialParameter"));
     TextureParameter    = new FsmObject(namer, field.Get("TextureParameter"));
     ColorParameter      = new FsmColor(namer, field.Get("ColorParameter"));
     EnumParameter       = new FsmEnum(namer, field.Get("EnumParameter"));
     ArrayParameter      = new FsmArray(namer, field.Get("ArrayParameter"));
     setProperty         = field.Get("setProperty").GetValue().AsBool();
 }
Example #10
0
        public FsmDataInstance LoadFSM(long id)
        {
            AssetFileInfoEx     info      = curFile.table.GetAssetInfo(id);
            AssetTypeValueField baseField = am.GetMonoBaseFieldCached(curFile, info, Path.Combine(Path.GetDirectoryName(curFile.path), "Managed"));
            AssetNameResolver   namer     = new AssetNameResolver(am, curFile);

            FsmDataInstance dataInstance = new FsmDataInstance();

            AssetTypeValueField fsm               = baseField.Get("fsm");
            AssetTypeValueField states            = fsm.Get("states");
            AssetTypeValueField events            = fsm.Get("events");
            AssetTypeValueField variables         = fsm.Get("variables");
            AssetTypeValueField globalTransitions = fsm.Get("globalTransitions");
            AssetTypeValueField dataVersionField  = fsm.Get("dataVersion");

            dataInstance.fsmName = fsm.Get("name").GetValue().AsString();

            AssetTypeInstance goAti = am.GetExtAsset(curFile, baseField.Get("m_GameObject")).instance;

            if (goAti != null)
            {
                string m_Name = goAti.GetBaseField().Get("m_Name").GetValue().AsString();
                dataInstance.goName = m_Name;
            }

            if (dataVersionField.IsDummy())
            {
                dataInstance.dataVersion = fsm.Get("version").GetValue().AsInt() + 1;
            }
            else
            {
                dataInstance.dataVersion = dataVersionField.GetValue().AsInt();
            }

            dataInstance.states = new List <FsmStateData>();
            for (int i = 0; i < states.GetChildrenCount(); i++)
            {
                FsmStateData stateData = new FsmStateData();
                stateData.ActionData = new List <ActionScriptEntry>();
                stateData.state      = new FsmState(namer, states[i]);
                stateData.node       = new FsmNodeData(stateData.state);

                GetActionData(stateData.ActionData, stateData.state.actionData, dataInstance.dataVersion);

                dataInstance.states.Add(stateData);
            }

            dataInstance.events = new List <FsmEventData>();
            for (int i = 0; i < events.GetChildrenCount(); i++)
            {
                FsmEventData eventData = new FsmEventData();
                eventData.Global = events[i].Get("isGlobal").GetValue().AsBool();
                eventData.Name   = events[i].Get("name").GetValue().AsString();

                dataInstance.events.Add(eventData);
            }

            dataInstance.variables = new List <FsmVariableData>();
            GetVariableValues(dataInstance.variables, namer, variables);

            dataInstance.globalTransitions = new List <FsmNodeData>();
            for (int i = 0; i < globalTransitions.GetChildrenCount(); i++)
            {
                AssetTypeValueField globalTransitionField = globalTransitions[i];
                FsmGlobalTransition globalTransition      = new FsmGlobalTransition()
                {
                    fsmEvent       = new FsmEvent(globalTransitionField.Get("fsmEvent")),
                    toState        = globalTransitionField.Get("toState").GetValue().AsString(),
                    linkStyle      = globalTransitionField.Get("linkStyle").GetValue().AsInt(),
                    linkConstraint = globalTransitionField.Get("linkConstraint").GetValue().AsInt(),
                    colorIndex     = (byte)globalTransitionField.Get("colorIndex").GetValue().AsInt()
                };

                FsmNodeData node = new FsmNodeData(dataInstance, globalTransition);
                dataInstance.globalTransitions.Add(node);
            }

            //dataInstance.events = new List<FsmEventData>();
            //for (int i = 0; i < events.GetChildrenCount(); i++)
            //{
            //    FsmEventData eventData = new FsmEventData();
            //    AssetTypeValueField evt = events[i];
            //    eventData.Name = evt.Get("name").GetValue().AsString();
            //    eventData.Global = evt.Get("isGlobal").GetValue().AsBool();
            //}
            //
            //dataInstance.variables = new List<FsmVariableData>();
            //for (int i = 0; i < variables.GetChildrenCount(); i++)
            //{
            //    FsmVariableData variableData = new FsmVariableData();
            //    AssetTypeValueField vars = events[i];
            //}

            return(dataInstance);
        }
Example #11
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));
                }
            }
        }
Example #12
0
 public FsmOwnerDefault(AssetNameResolver namer, AssetTypeValueField field)
 {
     ownerOption = (OwnerDefaultOption)field.Get("ownerOption").GetValue().AsInt();
     gameObject  = new FsmGameObject(namer, field.Get("gameObject"));
 }
Example #13
0
 public FsmObject(AssetNameResolver namer, AssetTypeValueField field) : base(field)
 {
     value = StructUtil.ReadNamedAssetPPtr(namer, field.Get("value"));
 }
Example #14
0
 public FsmString(AssetNameResolver namer, AssetTypeValueField field) : base(field)
 {
     value = field.Get("value").GetValue().AsString();
 }
Example #15
0
        public static List <T> ReadAssetList <T>(AssetNameResolver namer, AssetTypeValueField field)
        {
            List <T> data = new List <T>();
            int      size = field.GetChildrenCount();

            switch (typeof(T))
            {
            case Type intType when intType == typeof(int):
                for (int i = 0; i < size; i++)
                {
                    data.Add((T)(object)field[i].GetValue().AsInt());
                }
                return(data);

            case Type stringType when stringType == typeof(string):
                for (int i = 0; i < size; i++)
                {
                    data.Add((T)(object)field[i].GetValue().AsString());
                }
                return(data);

            case Type boolType when boolType == typeof(bool):
                for (int i = 0; i < size; i++)
                {
                    data.Add((T)(object)field[i].GetValue().AsBool());
                }
                return(data);

            case Type byteType when byteType == typeof(byte):
                for (int i = 0; i < size; i++)
                {
                    data.Add((T)(object)(byte)field[i].GetValue().AsInt());
                }
                return(data);

            case Type enumType when enumType.IsEnum:
                for (int i = 0; i < size; i++)
                {
                    data.Add((T)(object)field[i].GetValue().AsInt());
                }
                return(data);

            //don't use this anymore, does not have name info
            case Type pptrType when pptrType == typeof(AssetPPtr):
                for (int i = 0; i < size; i++)
                {
                    data.Add((T)(object)ReadAssetPPtr(field[i]));
                }
                return(data);

            case Type namedPPtrType when namedPPtrType == typeof(NamedAssetPPtr):
                for (int i = 0; i < size; i++)
                {
                    data.Add((T)(object)ReadNamedAssetPPtr(namer, field[i]));
                }
                return(data);

            default:
                //no error checking so don't put something stupid for <T>
                for (int i = 0; i < size; i++)
                {
                    data.Add((T)Activator.CreateInstance(typeof(T), namer, field[i]));
                }
                return(data);
            }
        }
Example #16
0
 public FsmLayoutOption(AssetNameResolver namer, AssetTypeValueField field) : base(field)
 {
     option     = (LayoutOptionType)field.Get("option").GetValue().AsInt();
     floatParam = new FsmFloat(namer, field.Get("floatParam"));
     boolParam  = new FsmBool(namer, field.Get("boolParam"));
 }
Example #17
0
 public FsmAnimationCurve(AssetNameResolver namer, AssetTypeValueField field)
 {
     value = new AnimationCurve(namer, field);
 }