static public SimObjectType SetSimType(string aspectName, Cons cons) { object[] parseStr = ConsParams(cons); SimObjectType type = GetObjectType(aspectName); SimTypeUsage usage = null; if (type.IsUseType) { usage = type.CreateObjectUsage(aspectName); } type.ParseAffect(usage, parseStr); return(type); }
static public SimTypeUsage CreateTypeUsage(string classname, params object[] parseStr) { if (parseStr.Length == 1 && parseStr[0] is object[]) { parseStr = (object[])parseStr[0]; } SimObjectType type = GetObjectType(classname); type.AddSuperType(USEABLE); type.IsUseType = true; SimTypeUsage usage = type.CreateObjectUsage(classname); type.ParseAffect(usage, parseStr); return(usage); }
static public SimObjectType CreateObjectType(string aspectName, params object[] parseStr) { if (parseStr.Length == 1 && parseStr[0] is object[]) { parseStr = (object[])parseStr[0]; } SimObjectType type1 = FindObjectType(aspectName); if (type1 == null) { type1 = new SimObjectType(aspectName); type1.ParseAffect(null, new object[] { "Match", "* " + aspectName + " *" }); lock (objectTypes) objectTypes.Add(type1); } type1.ParseAffect(null, parseStr); return(type1); }
static public SimObjectType CreateObjectType(string aspectName, params object[] parseStr) { if (parseStr.Length == 1 && parseStr[0] is object[]) parseStr = (object[])parseStr[0]; SimObjectType type1 = FindObjectType(aspectName); if (type1 == null) { type1 = new SimObjectType(aspectName); type1.ParseAffect(null, new object[] { "Match", "* " + aspectName + " *" }); lock (objectTypes) objectTypes.Add(type1); } type1.ParseAffect(null, parseStr); return type1; }