Example #1
0
        public override void GuiParameters()
        {
            base.GuiParameters();

            destinyKey = AISEditorUtil.VarPopUp("Destiny:", ai, destinyKey, typeof(AISVarSingle), typeof(Transform));

            stopDistance = EditorGUILayout.FloatField("Stop distance:", stopDistance);
        }
Example #2
0
        public static T GetSingleObject <T>(AISController ctrl, AISVariable key) where T : Object
        {
            if (!ctrl.ContainsKey(key))
            {
                return(null);
            }

            AISVarSingle var = (AISVarSingle)ctrl.GetVar(key);

            return(var.@object as T);
        }
Example #3
0
        public static int GetSingleInt <T>(AISController ctrl, AISVariable key)
        {
            if (!ctrl.ContainsKey(key))
            {
                return(0);
            }

            AISVarSingle var = (AISVarSingle)ctrl.GetVar(key);

            return(var.@int);
        }
Example #4
0
        public static Vector3 GetSingleVector3(AISController ctrl, AISVariable key)
        {
            if (!ctrl.ContainsKey(key))
            {
                return(Vector3.zero);
            }

            AISVarSingle var = (AISVarSingle)ctrl.GetVar(key);

            return(var.vector3);
        }
Example #5
0
        public static List <Vector3> GetListVector3(AISController ctrl, AISVariable key)
        {
            if (!ctrl.ContainsKey(key))
            {
                return(null);
            }

            AISVarList vars = (AISVarList)ctrl.GetVar(key);

            return(vars.vector3);
        }
Example #6
0
        public static List <float> GetListFloat(AISController ctrl, AISVariable key)
        {
            if (!ctrl.ContainsKey(key))
            {
                return(null);
            }

            AISVarList vars = (AISVarList)ctrl.GetVar(key);

            return(vars.@float);
        }
Example #7
0
        public static float GetSingleFloat(AISController ctrl, AISVariable key)
        {
            if (!ctrl.ContainsKey(key))
            {
                return(0);
            }

            AISVarSingle var = (AISVarSingle)ctrl.GetVar(key);

            return(var.@float);
        }
Example #8
0
        private static AISVariable Select(string label, AISAI ai, AISVariable var, System.Type t, List <AISVariable> options)
        {
            if (options != null && options.Count != 0)
            {
                if (!ai.variables.Contains(var))
                {
                    var = ai.variables[0];
                }

                return(options[EditorGUILayout.Popup(label + "(" + t + ")", options.IndexOf(var), options.Select(x => x.name).ToArray())]);
            }
            else
            {
                GUILayout.Label("There no Variable " + "(" + t + ")" + " and/or compatible types!"); return(null);
            }
        }
Example #9
0
        public static List <T> GetListObject <T>(AISController ctrl, AISVariable key) where T : Object
        {
            if (!ctrl.ContainsKey(key))
            {
                return(null);
            }

            AISVarList vars = (AISVarList)ctrl.GetVar(key);

            List <T> list = [email protected](x => x is T).Select(x => (T)x).ToList();

            if (list == null || list.Count == 0)
            {
                return(null);
            }

            return(list);
        }
Example #10
0
        public void MakeSet()
        {
            Dictionary <AISVariable, AISVariable> set = new Dictionary <AISVariable, AISVariable>();

            foreach (AISVariable v in ai.variables)
            {
                if (v.isStatic)
                {
                    set.Add(v, v);
                }
                else
                {
                    AISVariable c = Instantiate(v);
                    c.Init(this);
                    set.Add(v, c);
                }
            }

            this.set = set;
        }
Example #11
0
 void EliminateVar(AISVariable v)
 {
     ai.variables.Remove(v);
     DestroyImmediate(v, true);
 }
Example #12
0
 void AddVar(AISVariable var)
 {
     var.name = "New Var";
     SODatabase.Add(ai, var, ai.variables);
 }
Example #13
0
 public override void GuiParameters()
 {
     listKey = AISEditorUtil.VarPopUp("List to select", ai, listKey, typeof(AISVarList));
     best    = AISEditorUtil.VarPopUp("Single to select", ai, best, typeof(AISVarSingle));
 }
Example #14
0
 public AISVariable GetVar(AISVariable key)
 {
     return(set[key]);
 }
Example #15
0
 public bool ContainsKey(AISVariable key)
 {
     return(set.ContainsKey(key));
 }
Example #16
0
 public static T GetComponent <T>(AISController ctrl, AISVariable key) where T : Component
 {
     return(((AISVarComponent)ctrl.GetVar(key)).GetComponent <T>());
 }
Example #17
0
 public static AISVariable VarPopUp(string label, AISAI ai, AISVariable var, System.Type t, System.Type type)
 {
     return(Select(label, ai, var, t, ai.variables.Where(x => x.GetType() == t && System.Type.GetType(x.type).Equals(type)).ToList()));
 }
Example #18
0
 public static T GetItemComponent <T>(AISController ctrl, AISVariable key) where T : InventorySystem.ItemComponent
 {
     return(((AISVarComponent)ctrl.GetVar(key)).GetItemComponent <T>());
 }