You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.1 KiB
76 lines
1.1 KiB
using UnityEngine; |
|
using System; |
|
using System.Collections; |
|
|
|
namespace Fungus |
|
{ |
|
|
|
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; |
|
} |
|
} |