Пример #1
0
		public override void Reset (){
			base.Reset();
			rectVariable = null;
			fromValue = null;
			toValue = null;
			finishInNextStep = false;
		}
 public override void Reset()
 {
     source = null;
     format = "Rect\\([x],[y],[w],[h]\\)";
     storeResult = null;
     everyFrame = false;
 }
		public override void Reset()
		{
			base.Reset();
			
			rectVariable = new FsmRect{UseVariable=true};
			toValue = new FsmRect{UseVariable=true};
			fromValue = new FsmRect{UseVariable=true};
		}
 public override void Reset()
 {
     rect = null;
     format = "Rect([x],[y],[w],[h])";
     floatConversion = "G";
     storeResult = null;
     everyFrame = false;
 }
Пример #5
0
		public override void Reset()
		{
			gameObject = null;
			fsmName = "";
			variableName = "";
			setValue = null;
			everyFrame = false;
		}
Пример #6
0
 public override void Reset()
 {
     this.gameObject = null;
     this.fsmName = string.Empty;
     this.variableName = string.Empty;
     this.storeValue = null;
     this.everyFrame = false;
 }
Пример #7
0
		public override void Reset()
		{
			rect1 = new FsmRect { UseVariable = true };
            rect2 = new FsmRect { UseVariable = true };
			storeResult = null;
			trueEvent = null;
			falseEvent = null;
			everyFrame = false;
		}
Пример #8
0
		public override void Reset()
		{
			rectVariable = null;
			storeX = null;
			storeY = null;
			storeWidth = null;
			storeHeight = null;
			everyFrame = false;
		}
Пример #9
0
		public override void Reset()
		{
			rectVariable = null;
			x = new FsmFloat {UseVariable = true};
			y = new FsmFloat { UseVariable = true };
			width = new FsmFloat { UseVariable = true };
			height = new FsmFloat { UseVariable = true };
			everyFrame = false;
		}
		public override void Reset()
		{
			base.Reset();
			gameObject = null;
			canvas = new FsmGameObject(){UseVariable=true};

			pixelRect = null;

		}
Пример #11
0
		public override void Reset()
		{
			screenRect = null;
			left = 0;
			top = 0;
			width = 1;
			height = 1;
			normalized = true;
		}
Пример #12
0
 public override void Reset()
 {
     screenRect = null;
     left       = 0;
     top        = 0;
     width      = 1;
     height     = 1;
     normalized = true;
     style      = "";
 }
Пример #13
0
 public override void Reset()
 {
     this.screenRect = null;
     this.left = 0f;
     this.top = 0f;
     this.width = 1f;
     this.height = 1f;
     this.normalized = true;
     this.style = string.Empty;
 }
        public override void Reset()
        {
            gameObject = null;
            rect = new FsmRect();
            rect.Value = new Rect(0f,0f,0.5f,0.5f);

            coordinates = RectCoordinates.Viewport;

            everyFrame = false;
        }
Пример #15
0
        public override void Reset()
        {
            gameObject = null;
            rect       = new FsmRect();
            rect.Value = new Rect(0f, 0f, 0.5f, 0.5f);

            coordinates = RectCoordinates.Viewport;

            everyFrame = false;
        }
Пример #16
0
 public override void Reset()
 {
     setGameObjectData = new FsmGameObject
     {
         UseVariable = true
     };
     setIntData = new FsmInt
     {
         UseVariable = true
     };
     setFloatData = new FsmFloat
     {
         UseVariable = true
     };
     setStringData = new FsmString
     {
         UseVariable = true
     };
     setBoolData = new FsmBool
     {
         UseVariable = true
     };
     setVector2Data = new FsmVector2
     {
         UseVariable = true
     };
     setVector3Data = new FsmVector3
     {
         UseVariable = true
     };
     setRectData = new FsmRect
     {
         UseVariable = true
     };
     setQuaternionData = new FsmQuaternion
     {
         UseVariable = true
     };
     setColorData = new FsmColor
     {
         UseVariable = true
     };
     setMaterialData = new FsmMaterial
     {
         UseVariable = true
     };
     setTextureData = new FsmTexture
     {
         UseVariable = true
     };
     setObjectData = new FsmObject
     {
         UseVariable = true
     };
 }
        public override void Reset()
        {
            base.Reset();
            gameObject = null;
            canvas     = new FsmGameObject()
            {
                UseVariable = true
            };

            pixelRect = null;
        }
Пример #18
0
		public override void Reset()
		{
			base.Reset();
			gameObject = null;
			rect = null;
			// default axis to variable dropdown with None selected.
			x = new FsmFloat { UseVariable = true };
			y = new FsmFloat { UseVariable = true };
			width = new FsmFloat { UseVariable = true };
			height = new FsmFloat { UseVariable = true };
		}
Пример #19
0
        public override void Reset()
        {
            gameObject       = null;
            time             = 0f;
            delay            = 0f;
            noOfRepeat       = 0;
            useEstimatedTime = false;
            useFrames        = false;
            orientToPath     = false;
            axis             = Vector3.zero;

            setGameObjectData = new FsmGameObject {
                UseVariable = true
            };
            setIntData = new FsmInt {
                UseVariable = true
            };
            setFloatData = new FsmFloat {
                UseVariable = true
            };
            setStringData = new FsmString {
                UseVariable = true
            };
            setBoolData = new FsmBool {
                UseVariable = true
            };
            setVector2Data = new FsmVector2 {
                UseVariable = true
            };
            setVector3Data = new FsmVector3 {
                UseVariable = true
            };
            setRectData = new FsmRect {
                UseVariable = true
            };
            setQuaternionData = new FsmQuaternion {
                UseVariable = true
            };
            setColorData = new FsmColor {
                UseVariable = true
            };
            setMaterialData = new FsmMaterial {
                UseVariable = true
            };
            setTextureData = new FsmTexture {
                UseVariable = true
            };
            setObjectData = new FsmObject {
                UseVariable = true
            };

            onUpdateEventTarget = null;
            onUpdateEvent       = null;
        }
 public override void Reset()
 {
     rectangle = new FsmRect { UseVariable = true };
     point = new FsmVector3 { UseVariable = true };
     x = new FsmFloat { UseVariable = true };
     y = new FsmFloat { UseVariable = true };
     storeResult = null;
     trueEvent = null;
     falseEvent = null;
     everyFrame = false;
 }
Пример #21
0
 public override void Reset()
 {
     this.texture = null;
     this.screenRect = null;
     this.left = 0f;
     this.top = 0f;
     this.width = 1f;
     this.height = 1f;
     this.scaleMode = ScaleMode.StretchToFill;
     this.alphaBlend = true;
     this.imageAspect = 0f;
     this.normalized = true;
 }
Пример #22
0
 public override void Reset()
 {
     this.texture     = null;
     this.screenRect  = null;
     this.left        = 0f;
     this.top         = 0f;
     this.width       = 1f;
     this.height      = 1f;
     this.scaleMode   = ScaleMode.StretchToFill;
     this.alphaBlend  = true;
     this.imageAspect = 0f;
     this.normalized  = true;
 }
Пример #23
0
 public override void Reset()
 {
     texture     = null;
     screenRect  = null;
     left        = 0;
     top         = 0;
     width       = 1;
     height      = 1;
     scaleMode   = ScaleMode.StretchToFill;
     alphaBlend  = true;
     imageAspect = 0;
     normalized  = true;
 }
Пример #24
0
		public override void Reset()
		{
			texture = null;
			screenRect = null;
			left = 0;
			top = 0;
			width = 1;
			height = 1;
			scaleMode = ScaleMode.StretchToFill;
			alphaBlend = true;
			imageAspect = 0;
			normalized = true;
		}
Пример #25
0
 public override void Reset()
 {
     rectVariable = null;
     storeX       = null;
     storeY       = null;
     storeWidth   = null;
     storeHeight  = null;
     storeMin     = null;
     storeMax     = null;
     storeSize    = null;
     storeCenter  = null;
     everyFrame   = false;
 }
Пример #26
0
 public override void Reset()
 {
     rect1 = new FsmRect {
         UseVariable = true
     };
     rect2 = new FsmRect {
         UseVariable = true
     };
     storeResult = null;
     trueEvent   = null;
     falseEvent  = null;
     everyFrame  = false;
 }
 public override void Reset()
 {
     base.Reset();
     gameObject = null;
     point1     = new FsmVector2 {
         UseVariable = true
     };
     point2 = new FsmVector2 {
         UseVariable = true
     };
     normalized      = null;
     storeScreenRect = null;
 }
        public override void Reset()
        {
            current         = null;
            target          = new Rect(0f, 0f, 1f, 1f);
            smoothTime      = 1f;
            currentVelocity = null;
            maxSpeed        = new FsmFloat()
            {
                UseVariable = true
            };

            done   = null;
            isDone = null;
        }
Пример #29
0
 public override void Reset()
 {
     rectangle = null;
     point1    = new FsmVector2 {
         UseVariable = true
     };
     point2 = new FsmVector2 {
         UseVariable = true
     };
     positiveDimensions = new FsmBool {
         Value = true
     };
     everyFrame = false;
 }
Пример #30
0
        public override void Reset()
        {
            base.Reset();

            rectVariable = new FsmRect {
                UseVariable = true
            };
            toValue = new FsmRect {
                UseVariable = true
            };
            fromValue = new FsmRect {
                UseVariable = true
            };
        }
Пример #31
0
		public override void Reset()
		{
			setGameObjectData = null;
			setIntData = null;
			setFloatData = null;
			setStringData = null;
			setBoolData = null;
			setVector3Data = null;
			setRectData = null;
			setQuaternionData = null;
			setColorData = null;
			setMaterialData = null;
			setTextureData = null;
			setObjectData = null;
		}
Пример #32
0
 public override void Reset()
 {
     setGameObjectData = new FsmGameObject{UseVariable = true};
     setIntData = new FsmInt { UseVariable = true };
     setFloatData = new FsmFloat { UseVariable = true };
     setStringData = new FsmString { UseVariable = true };
     setBoolData = new FsmBool { UseVariable = true };
     setVector2Data = new FsmVector2 { UseVariable = true };
     setVector3Data = new FsmVector3 { UseVariable = true };
     setRectData = new FsmRect { UseVariable = true };
     setQuaternionData = new FsmQuaternion { UseVariable = true };
     setColorData = new FsmColor { UseVariable = true };
     setMaterialData = new FsmMaterial { UseVariable = true };
     setTextureData = new FsmTexture { UseVariable = true };
     setObjectData = new FsmObject { UseVariable = true };
 }
Пример #33
0
 public override void Reset()
 {
     rectVariable = null;
     x            = new FsmFloat {
         UseVariable = true
     };
     y = new FsmFloat {
         UseVariable = true
     };
     width = new FsmFloat {
         UseVariable = true
     };
     height = new FsmFloat {
         UseVariable = true
     };
     everyFrame = false;
 }
Пример #34
0
 public override void Reset()
 {
     sentByGameObject  = null;
     fsmName           = null;
     getBoolData       = null;
     getIntData        = null;
     getFloatData      = null;
     getVector3Data    = null;
     getStringData     = null;
     getGameObjectData = null;
     getRectData       = null;
     getQuaternionData = null;
     getMaterialData   = null;
     getTextureData    = null;
     getColorData      = null;
     getObjectData     = null;
 }
Пример #35
0
 public override void Reset()
 {
     rectangle = new FsmRect {
         UseVariable = true
     };
     point = new FsmVector3 {
         UseVariable = true
     };
     x = new FsmFloat {
         UseVariable = true
     };
     y = new FsmFloat {
         UseVariable = true
     };
     storeResult = null;
     trueEvent   = null;
     falseEvent  = null;
     everyFrame  = false;
 }
Пример #36
0
 public override void Reset()
 {
     base.Reset();
     gameObject = null;
     rect       = null;
     // default axis to variable dropdown with None selected.
     x = new FsmFloat {
         UseVariable = true
     };
     y = new FsmFloat {
         UseVariable = true
     };
     width = new FsmFloat {
         UseVariable = true
     };
     height = new FsmFloat {
         UseVariable = true
     };
 }
Пример #37
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"));
 }
Пример #38
0
        public override void Reset()
        {
            atIndex    = null;
            gameObject = null;

            failureEvent = null;

            getBoolData       = null;
            getIntData        = null;
            getFloatData      = null;
            getVector3Data    = null;
            getStringData     = null;
            getGameObjectData = null;
            getRectData       = null;
            getQuaternionData = null;
            getMaterialData   = null;
            getTextureData    = null;
            getColorData      = null;
            getObjectData     = null;
        }
Пример #39
0
 public override void Reset()
 {
     this.rectVariable = null;
     this.x = new FsmFloat
     {
         UseVariable = true
     };
     this.y = new FsmFloat
     {
         UseVariable = true
     };
     this.width = new FsmFloat
     {
         UseVariable = true
     };
     this.height = new FsmFloat
     {
         UseVariable = true
     };
     this.everyFrame = false;
 }
Пример #40
0
 public override void Reset()
 {
     this.rectVariable = null;
     this.x            = new FsmFloat
     {
         UseVariable = true
     };
     this.y = new FsmFloat
     {
         UseVariable = true
     };
     this.width = new FsmFloat
     {
         UseVariable = true
     };
     this.height = new FsmFloat
     {
         UseVariable = true
     };
     this.everyFrame = false;
 }
Пример #41
0
        public override void Reset()
        {
            gameObject = null;
            key        = null;

            KeyFoundEvent    = null;
            KeyNotFoundEvent = null;

            getBoolData       = null;
            getIntData        = null;
            getFloatData      = null;
            getVector3Data    = null;
            getStringData     = null;
            getGameObjectData = null;
            getRectData       = null;
            getQuaternionData = null;
            getMaterialData   = null;
            getTextureData    = null;
            getColorData      = null;
            getObjectData     = null;
        }
Пример #42
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();
 }
Пример #43
0
        private void DoGetFsmVariable()
        {
            GameObject ownerDefaultTarget = base.Fsm.GetOwnerDefaultTarget(gameObject);

            if (ownerDefaultTarget == null)
            {
                return;
            }
            if (ownerDefaultTarget != goLastFrame)
            {
                goLastFrame = ownerDefaultTarget;
                fsm         = ActionHelpers.GetGameObjectFsm(ownerDefaultTarget, fsmName.Value);
            }
            if (!(fsm == null) && storeValue != null)
            {
                FsmRect fsmRect = fsm.FsmVariables.GetFsmRect(variableName.Value);
                if (fsmRect != null)
                {
                    storeValue.Value = fsmRect.Value;
                }
            }
        }
Пример #44
0
 public override void Reset()
 {
     this.rectangle = new FsmRect
     {
         UseVariable = true
     };
     this.point = new FsmVector3
     {
         UseVariable = true
     };
     this.x = new FsmFloat
     {
         UseVariable = true
     };
     this.y = new FsmFloat
     {
         UseVariable = true
     };
     this.storeResult = null;
     this.trueEvent   = null;
     this.falseEvent  = null;
     this.everyFrame  = false;
 }
Пример #45
0
 public override void Reset()
 {
     toValue = new FsmRect {
         UseVariable = true
     };
     fromValue = new FsmRect {
         UseVariable = true
     };
     resultValue = new FsmRect {
         UseVariable = true
     };
     duration          = 0f;
     setDelay          = 0f;
     isSpeedBased      = false;
     settingLoops      = 0;
     enableEaseFactory = false;
     easeFactoryFps    = 0;
     setRelative       = false;
     DotweenDone       = false;
     setAutoKill       = false;
     orInputID         = new FsmString {
         UseVariable = true
     };
     tag = new FsmString {
         UseVariable = true
     };
     gameObjectId = new FsmBool {
         UseVariable = true
     };
     startEvent        = null;
     finishEvent       = null;
     loopDontFinish    = false;
     snapping          = false;
     loopsQuantity     = 0;
     isTimeIndependent = false;
     setRecycle        = false;
 }
Пример #46
0
        private void DoGetFsmVariable()
        {
            GameObject ownerDefaultTarget = base.Fsm.GetOwnerDefaultTarget(this.gameObject);

            if (ownerDefaultTarget == null)
            {
                return;
            }
            if (ownerDefaultTarget != this.goLastFrame)
            {
                this.goLastFrame = ownerDefaultTarget;
                this.fsm         = ActionHelpers.GetGameObjectFsm(ownerDefaultTarget, this.fsmName.Value);
            }
            if (this.fsm == null || this.storeValue == null)
            {
                return;
            }
            FsmRect fsmRect = this.fsm.FsmVariables.GetFsmRect(this.variableName.Value);

            if (fsmRect != null)
            {
                this.storeValue.Value = fsmRect.Value;
            }
        }
        public override void Reset()
        {
            gameObject = null;
            reference = null;
            startIndex = null;
            endIndex = null;

            loopEvent = null;
            finishedEvent = null;

            failureEvent = null;

            getBoolData = null;
            getIntData = null;
            getFloatData = null;
            getVector3Data = null;
            getStringData = null;
            getGameObjectData = null;
            getRectData = null;
            getQuaternionData = null;
            getMaterialData = null;
            getTextureData = null;
            getColorData = null;
            getObjectData = null;
        }
Пример #48
0
        public override void Reset()
        {
            gameObject = null;
            key = null;

            KeyFoundEvent = null;
            KeyNotFoundEvent = null;

            getBoolData = null;
            getIntData = null;
            getFloatData = null;
            getVector3Data = null;
            getStringData = null;
            getGameObjectData = null;
            getRectData = null;
            getQuaternionData = null;
            getMaterialData = null;
            getTextureData = null;
            getColorData = null;
            getObjectData = null;
        }
Пример #49
0
 public override void Reset()
 {
     rectVariable = null;
     rectValue    = null;
     everyFrame   = false;
 }
Пример #50
0
 public override void Reset()
 {
     this.rectVariable = null;
     this.rectValue = null;
     this.everyFrame = false;
 }
Пример #51
0
        public override void Reset()
        {
            atIndex = null;
            gameObject = null;

            failureEvent = null;

            getBoolData = null;
            getIntData = null;
            getFloatData = null;
            getVector3Data = null;
            getStringData = null;
            getGameObjectData = null;
            getRectData = null;
            getQuaternionData = null;
            getMaterialData = null;
            getTextureData = null;
            getColorData = null;
            getObjectData = null;
        }
Пример #52
0
    public static bool ApplyValueToFsmVar(Fsm fromFsm, FsmVar fsmVar, object value)
    {
        if (fromFsm == null)
        {
            return(false);
        }
        if (fsmVar == null)
        {
            return(false);
        }

        if (value == null)
        {
            if (fsmVar.Type == VariableType.Bool)
            {
                FsmBool _target = fromFsm.Variables.GetFsmBool(fsmVar.variableName);
                _target.Value = false;
            }
            else if (fsmVar.Type == VariableType.Color)
            {
                FsmColor _target = fromFsm.Variables.GetFsmColor(fsmVar.variableName);
                _target.Value = Color.black;
            }
            else if (fsmVar.Type == VariableType.Int)
            {
                FsmInt _target = fromFsm.Variables.GetFsmInt(fsmVar.variableName);
                _target.Value = 0;
            }
            else if (fsmVar.Type == VariableType.Float)
            {
                FsmFloat _target = fromFsm.Variables.GetFsmFloat(fsmVar.variableName);
                _target.Value = 0f;
            }
            else if (fsmVar.Type == VariableType.GameObject)
            {
                FsmGameObject _target = fromFsm.Variables.GetFsmGameObject(fsmVar.variableName);
                _target.Value = null;
            }
            else if (fsmVar.Type == VariableType.Material)
            {
                FsmMaterial _target = fromFsm.Variables.GetFsmMaterial(fsmVar.variableName);
                _target.Value = null;
            }
            else if (fsmVar.Type == VariableType.Object)
            {
                FsmObject _target = fromFsm.Variables.GetFsmObject(fsmVar.variableName);
                _target.Value = null;
            }
            else if (fsmVar.Type == VariableType.Quaternion)
            {
                FsmQuaternion _target = fromFsm.Variables.GetFsmQuaternion(fsmVar.variableName);
                _target.Value = Quaternion.identity;
            }
            else if (fsmVar.Type == VariableType.Rect)
            {
                FsmRect _target = fromFsm.Variables.GetFsmRect(fsmVar.variableName);
                _target.Value = new Rect(0, 0, 0, 0);
            }
            else if (fsmVar.Type == VariableType.String)
            {
                FsmString _target = fromFsm.Variables.GetFsmString(fsmVar.variableName);
                _target.Value = "";
            }
            else if (fsmVar.Type == VariableType.String)
            {
                FsmTexture _target = fromFsm.Variables.GetFsmTexture(fsmVar.variableName);
                _target.Value = null;
            }
            else if (fsmVar.Type == VariableType.Vector2)
            {
                FsmVector2 _target = fromFsm.Variables.GetFsmVector2(fsmVar.variableName);
                _target.Value = Vector2.zero;
            }
            else if (fsmVar.Type == VariableType.Vector3)
            {
                FsmVector3 _target = fromFsm.Variables.GetFsmVector3(fsmVar.variableName);
                _target.Value = Vector3.zero;
            }

            return(true);
        }

        System.Type valueType = value.GetType();

        //Debug.Log("valueType  "+valueType);

        System.Type storageType = null;

        //Debug.Log("fsmVar type "+fsmVar.Type);

        switch (fsmVar.Type)
        {
        case VariableType.Int:
            storageType = typeof(int);
            break;

        case VariableType.Float:
            storageType = typeof(float);
            break;

        case VariableType.Bool:
            storageType = typeof(bool);
            break;

        case VariableType.Color:
            storageType = typeof(Color);
            break;

        case VariableType.GameObject:
            storageType = typeof(GameObject);
            break;

        case VariableType.Quaternion:
            storageType = typeof(Quaternion);
            break;

        case VariableType.Rect:
            storageType = typeof(Rect);
            break;

        case VariableType.String:
            storageType = typeof(string);
            break;

        case VariableType.Texture:
            storageType = typeof(Texture2D);
            break;

        case VariableType.Vector2:
            storageType = typeof(Vector2);
            break;

        case VariableType.Vector3:
            storageType = typeof(Vector3);
            break;

        case VariableType.Object:
            storageType = typeof(Object);
            break;

        case VariableType.Material:
            storageType = typeof(Material);
            break;
        }


        if (!storageType.Equals(valueType))
        {
            if (valueType.Equals(typeof(ProceduralMaterial)))
            {
                // we are still ok.
            }
            else
            {
                Debug.LogError("The fsmVar value <" + storageType + "> doesn't match the value <" + valueType + ">");
                return(false);
            }
        }


        if (valueType == typeof(bool))
        {
            FsmBool _target = fromFsm.Variables.GetFsmBool(fsmVar.variableName);
            _target.Value = (bool)value;
        }
        else if (valueType == typeof(Color))
        {
            FsmColor _target = fromFsm.Variables.GetFsmColor(fsmVar.variableName);
            _target.Value = (Color)value;
        }
        else if (valueType == typeof(int))
        {
            FsmInt _target = fromFsm.Variables.GetFsmInt(fsmVar.variableName);
            _target.Value = (int)value;
        }
        else if (valueType == typeof(float))
        {
            FsmFloat _target = fromFsm.Variables.GetFsmFloat(fsmVar.variableName);
            _target.Value = (float)value;
        }
        else if (valueType == typeof(GameObject))
        {
            FsmGameObject _target = fromFsm.Variables.GetFsmGameObject(fsmVar.variableName);
            _target.Value = (GameObject)value;
        }
        else if (valueType == typeof(Material))
        {
            FsmMaterial _target = fromFsm.Variables.GetFsmMaterial(fsmVar.variableName);
            _target.Value = (Material)value;
        }
        else if (valueType == typeof(ProceduralMaterial))
        {
            FsmMaterial _target = fromFsm.Variables.GetFsmMaterial(fsmVar.variableName);
            _target.Value = (ProceduralMaterial)value;
        }
        else if (valueType == typeof(Object))
        {
            FsmObject _target = fromFsm.Variables.GetFsmObject(fsmVar.variableName);
            _target.Value = (Object)value;
        }
        else if (valueType == typeof(Quaternion))
        {
            FsmQuaternion _target = fromFsm.Variables.GetFsmQuaternion(fsmVar.variableName);
            _target.Value = (Quaternion)value;
        }
        else if (valueType == typeof(Rect))
        {
            FsmRect _target = fromFsm.Variables.GetFsmRect(fsmVar.variableName);
            _target.Value = (Rect)value;
        }
        else if (valueType == typeof(string))
        {
            FsmString _target = fromFsm.Variables.GetFsmString(fsmVar.variableName);
            _target.Value = (string)value;
        }
        else if (valueType == typeof(Texture2D))
        {
            FsmTexture _target = fromFsm.Variables.GetFsmTexture(fsmVar.variableName);
            _target.Value = (Texture2D)value;
        }
        else if (valueType == typeof(Vector2))
        {
            FsmVector2 _target = fromFsm.Variables.GetFsmVector2(fsmVar.variableName);
            _target.Value = (Vector2)value;
        }
        else if (valueType == typeof(Vector3))
        {
            FsmVector3 _target = fromFsm.Variables.GetFsmVector3(fsmVar.variableName);
            _target.Value = (Vector3)value;
        }
        else
        {
            Debug.LogWarning("?!?!" + valueType);
            //  don't know, should I put in FsmObject?
        }

        return(true);
    }
		public override void Reset()
		{
			rectVariable = null;
			rectValue = null;
			everyFrame = false;
		}
 public override void Reset()
 {
     rect       = null;
     result     = null;
     everyFrame = false;
 }
    public static bool ApplyValueToFsmVar(Fsm fromFsm, FsmVar fsmVar, object value)
    {
        if (fromFsm == null)
        {
            return(false);
        }
        if (fsmVar == null)
        {
            return(false);
        }


        if (value == null)
        {
            if (fsmVar.Type == VariableType.Bool)
            {
                FsmBool _target = fromFsm.Variables.GetFsmBool(fsmVar.variableName);
                _target.Value = false;
            }
            else if (fsmVar.Type == VariableType.Color)
            {
                FsmColor _target = fromFsm.Variables.GetFsmColor(fsmVar.variableName);
                _target.Value = Color.black;
            }
            else if (fsmVar.Type == VariableType.Int)
            {
                FsmInt _target = fromFsm.Variables.GetFsmInt(fsmVar.variableName);
                _target.Value = 0;
            }
            else if (fsmVar.Type == VariableType.Float)
            {
                FsmFloat _target = fromFsm.Variables.GetFsmFloat(fsmVar.variableName);
                _target.Value = 0f;
            }
            else if (fsmVar.Type == VariableType.GameObject)
            {
                FsmGameObject _target = fromFsm.Variables.GetFsmGameObject(fsmVar.variableName);
                _target.Value = null;
            }
            else if (fsmVar.Type == VariableType.Material)
            {
                FsmMaterial _target = fromFsm.Variables.GetFsmMaterial(fsmVar.variableName);
                _target.Value = null;
            }
            else if (fsmVar.Type == VariableType.Object)
            {
                FsmObject _target = fromFsm.Variables.GetFsmObject(fsmVar.variableName);
                _target.Value = null;
            }
            else if (fsmVar.Type == VariableType.Quaternion)
            {
                FsmQuaternion _target = fromFsm.Variables.GetFsmQuaternion(fsmVar.variableName);
                _target.Value = Quaternion.identity;
            }
            else if (fsmVar.Type == VariableType.Rect)
            {
                FsmRect _target = fromFsm.Variables.GetFsmRect(fsmVar.variableName);
                _target.Value = new Rect(0, 0, 0, 0);
            }
            else if (fsmVar.Type == VariableType.String)
            {
                FsmString _target = fromFsm.Variables.GetFsmString(fsmVar.variableName);
                _target.Value = "";
            }
            else if (fsmVar.Type == VariableType.String)
            {
                FsmTexture _target = fromFsm.Variables.GetFsmTexture(fsmVar.variableName);
                _target.Value = null;
            }
            else if (fsmVar.Type == VariableType.Vector2)
            {
                FsmVector2 _target = fromFsm.Variables.GetFsmVector2(fsmVar.variableName);
                _target.Value = Vector2.zero;
            }
            else if (fsmVar.Type == VariableType.Vector3)
            {
                FsmVector3 _target = fromFsm.Variables.GetFsmVector3(fsmVar.variableName);
                _target.Value = Vector3.zero;
            }
                        #if PLAYMAKER_1_8
            else if (fsmVar.Type == VariableType.Enum)
            {
                FsmEnum _target = fromFsm.Variables.GetFsmEnum(fsmVar.variableName);
                _target.ResetValue();
            }
            else if (fsmVar.Type == VariableType.Array)
            {
                FsmArray _target = fromFsm.Variables.GetFsmArray(fsmVar.variableName);
                _target.Reset();
            }
                        #endif
            return(true);
        }

        System.Type valueType = value.GetType();

        //Debug.Log("valueType  "+valueType);

        System.Type storageType = null;

        //	Debug.Log("fsmVar type "+fsmVar.Type);

        switch (fsmVar.Type)
        {
        case VariableType.Int:
            storageType = typeof(int);
            break;

        case VariableType.Float:
            storageType = typeof(float);
            break;

        case VariableType.Bool:
            storageType = typeof(bool);
            break;

        case VariableType.Color:
            storageType = typeof(Color);
            break;

        case VariableType.GameObject:
            storageType = typeof(GameObject);
            break;

        case VariableType.Quaternion:
            storageType = typeof(Quaternion);
            break;

        case VariableType.Rect:
            storageType = typeof(Rect);
            break;

        case VariableType.String:
            storageType = typeof(string);
            break;

        case VariableType.Texture:
            storageType = typeof(Texture2D);
            break;

        case VariableType.Vector2:
            storageType = typeof(Vector2);
            break;

        case VariableType.Vector3:
            storageType = typeof(Vector3);
            break;

        case VariableType.Object:
            storageType = typeof(Object);
            break;

        case VariableType.Material:
            storageType = typeof(Material);
            break;

                #if PLAYMAKER_1_8
        case VariableType.Enum:
            storageType = typeof(System.Enum);
            break;

        case VariableType.Array:
            storageType = typeof(System.Array);
            break;
                #endif
        }

        bool ok = true;
        if (!storageType.Equals(valueType))
        {
            ok = false;
            if (storageType.Equals(typeof(Object)))             // we are ok
            {
                ok = true;
            }
                        #if PLAYMAKER_1_8
            if (storageType.Equals(typeof(System.Enum)))             // we are ok
            {
                ok = true;
            }
                        #endif
            if (!ok)
            {
                                #if UNITY_WEBGL || UNITY_2017_1_OR_NEWER || UNITY_2018_1_OR_NEWER
                // proceduralMaterial not supported
                                #else
                if (valueType.Equals(typeof(ProceduralMaterial)))                 // we are ok
                {
                    ok = true;
                }
                                #endif
                if (valueType.Equals(typeof(double)))                 // we are ok
                {
                    ok = true;
                }
                if (valueType.Equals(typeof(System.Int64)))                 // we are ok
                {
                    ok = true;
                }
                if (valueType.Equals(typeof(System.Byte)))                 // we are ok
                {
                    ok = true;
                }
            }
        }


        if (!ok)
        {
            Debug.LogError("The fsmVar value <" + storageType + "> doesn't match the value <" + valueType + "> on state" + fromFsm.ActiveStateName + " on fsm:" + fromFsm.Name + " on GameObject:" + fromFsm.GameObjectName);
            return(false);
        }


        if (valueType == typeof(bool))
        {
            FsmBool _target = fromFsm.Variables.GetFsmBool(fsmVar.variableName);
            _target.Value = (bool)value;
        }
        else if (valueType == typeof(Color))
        {
            FsmColor _target = fromFsm.Variables.GetFsmColor(fsmVar.variableName);
            _target.Value = (Color)value;
        }
        else if (valueType == typeof(int))
        {
            FsmInt _target = fromFsm.Variables.GetFsmInt(fsmVar.variableName);
            _target.Value = System.Convert.ToInt32(value);
        }
        else if (valueType == typeof(byte))
        {
            FsmInt _target = fromFsm.Variables.GetFsmInt(fsmVar.variableName);
            _target.Value = System.Convert.ToInt32(value);
        }
        else if (valueType == typeof(System.Int64))
        {
            if (fsmVar.Type == VariableType.Int)
            {
                FsmInt _target = fromFsm.Variables.GetFsmInt(fsmVar.variableName);
                _target.Value = System.Convert.ToInt32(value);
            }
            else if (fsmVar.Type == VariableType.Float)
            {
                FsmFloat _target = fromFsm.Variables.GetFsmFloat(fsmVar.variableName);
                _target.Value = System.Convert.ToSingle(value);
            }
        }
        else if (valueType == typeof(float))
        {
            FsmFloat _target = fromFsm.Variables.GetFsmFloat(fsmVar.variableName);
            _target.Value = (float)value;
        }
        else if (valueType == typeof(double))
        {
            FsmFloat _target = fromFsm.Variables.GetFsmFloat(fsmVar.variableName);
            _target.Value = System.Convert.ToSingle(value);
        }
        else if (valueType == typeof(GameObject))
        {
            FsmGameObject _target = fromFsm.Variables.GetFsmGameObject(fsmVar.variableName);
            _target.Value = (GameObject)value;
        }
        else if (valueType == typeof(Material))
        {
            FsmMaterial _target = fromFsm.Variables.GetFsmMaterial(fsmVar.variableName);
            _target.Value = (Material)value;

                #if UNITY_WEBGL || UNITY_2017_1_OR_NEWER || UNITY_2018_1_OR_NEWER
            // proceduralMaterial not supported
                #else
        }
        else if (valueType == typeof(ProceduralMaterial))
        {
            FsmMaterial _target = fromFsm.Variables.GetFsmMaterial(fsmVar.variableName);
            _target.Value = (ProceduralMaterial)value;
                #endif
        }
        else if (valueType == typeof(Object) || storageType == typeof(Object))
        {
            FsmObject _target = fromFsm.Variables.GetFsmObject(fsmVar.variableName);
            _target.Value = (Object)value;
        }
        else if (valueType == typeof(Quaternion))
        {
            FsmQuaternion _target = fromFsm.Variables.GetFsmQuaternion(fsmVar.variableName);
            _target.Value = (Quaternion)value;
        }
        else if (valueType == typeof(Rect))
        {
            FsmRect _target = fromFsm.Variables.GetFsmRect(fsmVar.variableName);
            _target.Value = (Rect)value;
        }
        else if (valueType == typeof(string))
        {
            FsmString _target = fromFsm.Variables.GetFsmString(fsmVar.variableName);
            _target.Value = (string)value;
        }
        else if (valueType == typeof(Texture2D))
        {
            FsmTexture _target = fromFsm.Variables.GetFsmTexture(fsmVar.variableName);
            _target.Value = (Texture2D)value;
        }
        else if (valueType == typeof(Vector2))
        {
            FsmVector2 _target = fromFsm.Variables.GetFsmVector2(fsmVar.variableName);
            _target.Value = (Vector2)value;
        }
        else if (valueType == typeof(Vector3))
        {
            FsmVector3 _target = fromFsm.Variables.GetFsmVector3(fsmVar.variableName);
            _target.Value = (Vector3)value;

                #if PLAYMAKER_1_8
        }
        else if (value is System.Enum)          // valueType.BaseType == typeof(System.Enum)
        {
            FsmEnum _target = fromFsm.Variables.GetFsmEnum(fsmVar.variableName);
            _target.Value = (System.Enum)value;
                #endif
        }
        else
        {
            Debug.LogWarning("?!?!" + valueType);
            //  don't know, should I put in FsmObject?
        }


        return(true);
    }