protected virtual void DoSetOperation() { if (variable == null) { return; } if (variable.GetType() == typeof(BooleanVariable)) { BooleanVariable booleanVariable = (variable as BooleanVariable); booleanVariable.Apply(setOperator, booleanData.Value); } else if (variable.GetType() == typeof(IntegerVariable)) { IntegerVariable integerVariable = (variable as IntegerVariable); integerVariable.Apply(setOperator, integerData.Value); } else if (variable.GetType() == typeof(FloatVariable)) { FloatVariable floatVariable = (variable as FloatVariable); floatVariable.Apply(setOperator, floatData.Value); } else if (variable.GetType() == typeof(StringVariable)) { StringVariable stringVariable = (variable as StringVariable); var flowchart = GetFlowchart(); stringVariable.Apply(setOperator, flowchart.SubstituteVariables(stringData.Value)); } else if (variable.GetType() == typeof(GameObjectVariable)) { GameObjectVariable gameObjectVariable = (variable as GameObjectVariable); gameObjectVariable.Apply(setOperator, gameObjectData.Value); } }
// 执行操作运算 protected virtual void DoSetOperation() { if (variable == null) { return; } // 调用各类型的 // Apply()函数 var t = variable.GetType(); if (t == typeof(BooleanVariable)) { BooleanVariable booleanVariable = (variable as BooleanVariable); booleanVariable.Apply(setOperator, booleanData.Value); } else if (t == typeof(IntegerVariable)) { IntegerVariable integerVariable = (variable as IntegerVariable); integerVariable.Apply(setOperator, integerData.Value); } else if (t == typeof(FloatVariable)) { FloatVariable floatVariable = (variable as FloatVariable); floatVariable.Apply(setOperator, floatData.Value); } else if (t == typeof(StringVariable)) { StringVariable stringVariable = (variable as StringVariable); var flowchart = GetFlowchart(); stringVariable.Apply(setOperator, flowchart.SubstituteVariables(stringData.Value)); } else if (t == typeof(AnimatorVariable)) { AnimatorVariable animatorVariable = (variable as AnimatorVariable); animatorVariable.Apply(setOperator, animatorData.Value); } else if (t == typeof(AudioSourceVariable)) { AudioSourceVariable audioSourceVariable = (variable as AudioSourceVariable); audioSourceVariable.Apply(setOperator, audioSourceData.Value); } else if (t == typeof(ColorVariable)) { ColorVariable colorVariable = (variable as ColorVariable); colorVariable.Apply(setOperator, colorData.Value); } else if (t == typeof(GameObjectVariable)) { GameObjectVariable gameObjectVariable = (variable as GameObjectVariable); gameObjectVariable.Apply(setOperator, gameObjectData.Value); } else if (t == typeof(MaterialVariable)) { MaterialVariable materialVariable = (variable as MaterialVariable); materialVariable.Apply(setOperator, materialData.Value); } else if (t == typeof(ObjectVariable)) { ObjectVariable objectVariable = (variable as ObjectVariable); objectVariable.Apply(setOperator, objectData.Value); } else if (t == typeof(Rigidbody2DVariable)) { Rigidbody2DVariable rigidbody2DVariable = (variable as Rigidbody2DVariable); rigidbody2DVariable.Apply(setOperator, rigidbody2DData.Value); } else if (t == typeof(SpriteVariable)) { SpriteVariable spriteVariable = (variable as SpriteVariable); spriteVariable.Apply(setOperator, spriteData.Value); } else if (t == typeof(TextureVariable)) { TextureVariable textureVariable = (variable as TextureVariable); textureVariable.Apply(setOperator, textureData.Value); } else if (t == typeof(TransformVariable)) { TransformVariable transformVariable = (variable as TransformVariable); transformVariable.Apply(setOperator, transformData.Value); } else if (t == typeof(Vector2Variable)) { Vector2Variable vector2Variable = (variable as Vector2Variable); vector2Variable.Apply(setOperator, vector2Data.Value); } else if (t == typeof(Vector3Variable)) { Vector3Variable vector3Variable = (variable as Vector3Variable); vector3Variable.Apply(setOperator, vector3Data.Value); } }