An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
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.
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|