Example #1
0
    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);
    }
Example #2
0
 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;
 }
Example #3
0
 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);
 }
Example #4
0
 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);
                 }
             }
         }
     }
 }
Example #5
0
 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;
     }
 }
Example #6
0
 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);
         }
     }
 }
Example #7
0
 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;
     }
 }
Example #8
0
    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);
    }
Example #9
0
 public bool EditorOnly_Apply(ref VisClass.Rep rep)
 {
     return (rep == null ? false : rep.Apply());
 }
Example #10
0
        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:
                }
            }
        }
Example #11
0
 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;
     }
 }
Example #12
0
 private static bool MarkModified(VisClass.Rep.Setting setting)
 {
     if (VisClass.Rep.building)
     {
         return false;
     }
     setting.rep.modifiedSettings.Add(setting);
     return true;
 }
Example #13
0
 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:
         }
     }
 }
Example #14
0
 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;
 }
Example #15
0
 internal Setting(string key, VisClass klass, VisClass.Rep rep)
 {
     this.key             = key;
     this.rep             = rep;
     this._inheritedClass = klass;
 }
Example #16
0
 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;
     }
 }
Example #17
0
 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;
 }
Example #18
0
 internal Setting(string key, VisClass klass, VisClass.Rep rep)
 {
     this.key = key;
     this.rep = rep;
     this._inheritedClass = klass;
 }
Example #19
0
 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();
     }
 }
Example #20
0
 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);
 }
Example #21
0
 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);
         }
     }
 }