public bool EditorOnly_SetSuper(ref VisClass.Rep rep, VisClass _super) { VisClass visClass = _super; int num = 50; while (visClass != null) { if (visClass == this) { Debug.LogError("Self Reference Detected", this); return(false); } visClass = visClass._super; int num1 = num - 1; num = num1; if (num1 > 0) { continue; } Debug.LogError("Circular Dependancy Detected", this); return(false); } rep = null; this._super = _super; return(true); }
public void EditorOnly_Add(ref VisClass.Rep rep, string key, VisQuery value) { Array.Resize<string>(ref this.keys, (int)this.keys.Length + 1); Array.Resize<VisQuery>(ref this.values, (int)this.values.Length + 1); this.keys[(int)this.keys.Length - 1] = key; this.values[(int)this.values.Length - 1] = value; rep = null; }
internal VisClass.Rep.Setting Override(VisClass klass) { VisClass.Rep.Setting setting = (VisClass.Rep.Setting) this.MemberwiseClone(); setting._inheritedClass = klass; setting._hasSuper = true; setting._inheritSetting = this; return(setting); }
internal static void Recur(ref VisClass.Rep rep, VisClass klass) { if (klass._super != null) { Recur(ref rep, klass._super); foreach (Setting setting in rep.dict.Values) { setting.isInherited = true; } for (int i = 0; i < klass.keys.Length; i++) { string str = klass.keys[i]; if (!string.IsNullOrEmpty(str)) { Setting setting2; VisQuery query = klass.values[i]; if (!rep.dict.TryGetValue(str, out setting2)) { if (query == null) { continue; } setting2 = new Setting(str, klass, rep); rep.dict.Add(str, setting2); } else { rep.dict[str] = setting2 = setting2.Override(klass); } setting2.isInherited = false; setting2.query = query; } } } else { rep = new VisClass.Rep(); rep.klass = nklass; rep.dict = new Dictionary <string, Setting>(); for (int j = 0; j < klass.keys.Length; j++) { string str2 = klass.keys[j]; if (!string.IsNullOrEmpty(str2)) { VisQuery query2 = klass.values[j]; if (query2 != null) { Setting setting3 = new Setting(str2, klass, rep) { query = query2 }; rep.dict.Add(str2, setting3); } } } } }
internal static void Ref(ref VisClass.Rep rep, VisClass klass) { if (rep == null) { VisClass.Rep.nklass = klass; VisClass.Rep.building = true; VisClass.Rep.Recur(ref rep, klass); VisClass.Rep.building = false; VisClass.Rep.nklass = null; } }
internal Handle(VisClass klass) { this.klass = klass; this.bits = (long)0; if (!klass) { this.queries = VisClass.none; } else { int num = 0; this.queries = new VisQuery.Instance[(int)klass.instance.Length]; for (int i = 0; i < (int)this.queries.Length; i++) { this.queries[i] = new VisQuery.Instance(klass.instance[i], ref num); } } }
internal Handle(VisClass klass) { this.klass = klass; this.bits = 0L; if (klass != null) { int bit = 0; this.queries = new VisQuery.Instance[klass.instance.Length]; for (int i = 0; i < this.queries.Length; i++) { this.queries[i] = new VisQuery.Instance(klass.instance[i], ref bit); } } else { this.queries = VisClass.none; } }
public bool EditorOnly_SetSuper(ref Rep rep, VisClass _super) { VisClass class2 = _super; int num = 50; while (class2 != null) { if (class2 == this) { Debug.LogError("Self Reference Detected", this); return(false); } class2 = class2._super; if (--num <= 0) { Debug.LogError("Circular Dependancy Detected", this); return(false); } } rep = null; this._super = _super; return(true); }
public bool EditorOnly_Apply(ref VisClass.Rep rep) { return (rep == null ? false : rep.Apply()); }
internal static void Recur(ref VisClass.Rep rep, VisClass klass) { VisClass.Rep.Setting setting; if (!klass._super) { rep = new VisClass.Rep() { klass = VisClass.Rep.nklass, dict = new Dictionary <string, VisClass.Rep.Setting>() }; for (int i = 0; i < (int)klass.keys.Length; i++) { string str = klass.keys[i]; if (!string.IsNullOrEmpty(str)) { VisQuery visQuery = klass.values[i]; if (visQuery != null) { VisClass.Rep.Setting setting1 = new VisClass.Rep.Setting(str, klass, rep) { query = visQuery }; rep.dict.Add(str, setting1); } } } } else { VisClass.Rep.Recur(ref rep, klass._super); foreach (VisClass.Rep.Setting value in rep.dict.Values) { value.isInherited = true; } for (int j = 0; j < (int)klass.keys.Length; j++) { string str1 = klass.keys[j]; if (!string.IsNullOrEmpty(str1)) { VisQuery visQuery1 = klass.values[j]; if (rep.dict.TryGetValue(str1, out setting)) { Dictionary <string, VisClass.Rep.Setting> strs = rep.dict; VisClass.Rep.Setting setting2 = setting.Override(klass); setting = setting2; strs[str1] = setting2; } else { if (visQuery1 == null) { goto Label0; } setting = new VisClass.Rep.Setting(str1, klass, rep); rep.dict.Add(str1, setting); } setting.isInherited = false; setting.query = visQuery1; } Label0: } } }
private static bool MarkModified(VisClass.Rep.Setting setting) { if (VisClass.Rep.building) { return false; } setting.rep.modifiedSettings.Add(setting); return true; }
internal static void Recur(ref VisClass.Rep rep, VisClass klass) { VisClass.Rep.Setting setting; if (!klass._super) { rep = new VisClass.Rep() { klass = VisClass.Rep.nklass, dict = new Dictionary<string, VisClass.Rep.Setting>() }; for (int i = 0; i < (int)klass.keys.Length; i++) { string str = klass.keys[i]; if (!string.IsNullOrEmpty(str)) { VisQuery visQuery = klass.values[i]; if (visQuery != null) { VisClass.Rep.Setting setting1 = new VisClass.Rep.Setting(str, klass, rep) { query = visQuery }; rep.dict.Add(str, setting1); } } } } else { VisClass.Rep.Recur(ref rep, klass._super); foreach (VisClass.Rep.Setting value in rep.dict.Values) { value.isInherited = true; } for (int j = 0; j < (int)klass.keys.Length; j++) { string str1 = klass.keys[j]; if (!string.IsNullOrEmpty(str1)) { VisQuery visQuery1 = klass.values[j]; if (rep.dict.TryGetValue(str1, out setting)) { Dictionary<string, VisClass.Rep.Setting> strs = rep.dict; VisClass.Rep.Setting setting2 = setting.Override(klass); setting = setting2; strs[str1] = setting2; } else { if (visQuery1 == null) { goto Label0; } setting = new VisClass.Rep.Setting(str1, klass, rep); rep.dict.Add(str1, setting); } setting.isInherited = false; setting.query = visQuery1; } Label0: } } }
public bool EditorOnly_SetSuper(ref VisClass.Rep rep, VisClass _super) { VisClass visClass = _super; int num = 50; while (visClass != null) { if (visClass == this) { Debug.LogError("Self Reference Detected", this); return false; } visClass = visClass._super; int num1 = num - 1; num = num1; if (num1 > 0) { continue; } Debug.LogError("Circular Dependancy Detected", this); return false; } rep = null; this._super = _super; return true; }
internal Setting(string key, VisClass klass, VisClass.Rep rep) { this.key = key; this.rep = rep; this._inheritedClass = klass; }
private void Change(VisClass.Rep.Setting setting) { if (!setting.isInherited) { int num = 0; while (num < (int)this.klass.keys.Length) { if (this.klass.keys[num] != setting.name) { num++; } else { this.klass.values[num] = setting.query; break; } } } else { VisQuery visQuery = setting.valueSet; Dictionary<string, VisClass.Rep.Setting> strs = this.dict; string str = setting.name; VisClass.Rep.Setting setting1 = setting.Override(this.klass); setting = setting1; strs[str] = setting1; setting.isInherited = false; setting.valueSet = visQuery; Array.Resize<string>(ref this.klass.keys, (int)this.klass.keys.Length + 1); Array.Resize<VisQuery>(ref this.klass.values, (int)this.klass.values.Length + 1); this.klass.keys[(int)this.klass.keys.Length - 1] = setting.name; this.klass.values[(int)this.klass.values.Length - 1] = visQuery; } }
internal VisClass.Rep.Setting Override(VisClass klass) { VisClass.Rep.Setting setting = (VisClass.Rep.Setting)this.MemberwiseClone(); setting._inheritedClass = klass; setting._hasSuper = true; setting._inheritSetting = this; return setting; }
private void Remove(VisClass.Rep.Setting setting) { int num = 0; while (num < (int)this.klass.keys.Length) { if (this.klass.keys[num] != setting.name) { num++; } else { int num1 = num; while (true) { int num2 = num1 + 1; num1 = num2; if (num2 >= (int)this.klass.keys.Length) { break; } this.klass.keys[num1 - 1] = this.klass.keys[num1]; this.klass.values[num1 - 1] = this.klass.values[num1]; } Array.Resize<string>(ref this.klass.keys, (int)this.klass.keys.Length - 1); Array.Resize<VisQuery>(ref this.klass.values, (int)this.klass.values.Length - 1); break; } } if (!setting.isOverride) { this.dict.Remove(setting.name); } else { this.dict[setting.name] = setting.MoveBack(); } }
public void EditorOnly_Rep(ref VisClass.Rep rep) { if (this.keys == null && this.values == null) { this.keys = new string[0]; this.values = new VisQuery[0]; } VisClass.Rep.Ref(ref rep, this); }