using UnityEngine; using System; using System.Collections; namespace Fungus.Script { public enum VariableType { Boolean, Integer, Float, String }; [Serializable] public class Variable { public string key; public VariableType type; public bool booleanValue; public int integerValue; public float floatValue; public string stringValue; public bool IsSameType(Variable other) { return (this.type == other.type); } public bool Assign(Variable other) { if (!IsSameType(other)) { return false; } booleanValue = other.booleanValue; integerValue = other.integerValue; floatValue = other.floatValue; stringValue = other.stringValue; return true; } } [Serializable] public class VariableData { } [Serializable] public class BooleanData : VariableData { public bool value; } [Serializable] public class IntegerData : VariableData { public int value; } [Serializable] public class FloatData : VariableData { public float value; } [Serializable] public class StringData : VariableData { public string value; } }