Files
SWG-ScriptConverter/ScriptConverter/Ast/ScriptType.cs
Rohan Singh ad50a19057 Add code
2019-01-23 22:52:45 -05:00

49 lines
1.3 KiB
C#

using System.Linq;
namespace ScriptConverter.Ast
{
class ScriptType
{
public string Name { get; private set; }
public bool IsArray { get { return ArrayDimensions > 0; } }
public bool IsResizable { get; private set; }
public int ArrayDimensions { get; private set; }
public ScriptType(string name, int arrayDimensions = 0, bool isResizable = false)
{
if (name == "unknown")
name = "Object";
if (name == "string")
name = "String";
if (name == "modifyable_int")
name = "modifiable_int";
if (name == "modifyable _float")
name = "modifiable_float";
if (name == "modifyable_string_id")
name = "modifiable_string_id";
if (isResizable)
arrayDimensions = 1;
Name = name;
IsResizable = isResizable;
ArrayDimensions = arrayDimensions;
}
public override string ToString()
{
if (IsResizable)
return "Vector";
if (!IsArray)
return Name;
return Name + string.Join("", Enumerable.Repeat("[]", ArrayDimensions));
}
}
}