public override void GuiParameters() { base.GuiParameters(); destinyKey = AISEditorUtil.VarPopUp("Destiny:", ai, destinyKey, typeof(AISVarSingle), typeof(Transform)); stopDistance = EditorGUILayout.FloatField("Stop distance:", stopDistance); }
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); }
public static int GetSingleInt <T>(AISController ctrl, AISVariable key) { if (!ctrl.ContainsKey(key)) { return(0); } AISVarSingle var = (AISVarSingle)ctrl.GetVar(key); return(var.@int); }
public static Vector3 GetSingleVector3(AISController ctrl, AISVariable key) { if (!ctrl.ContainsKey(key)) { return(Vector3.zero); } AISVarSingle var = (AISVarSingle)ctrl.GetVar(key); return(var.vector3); }
public static List <Vector3> GetListVector3(AISController ctrl, AISVariable key) { if (!ctrl.ContainsKey(key)) { return(null); } AISVarList vars = (AISVarList)ctrl.GetVar(key); return(vars.vector3); }
public static List <float> GetListFloat(AISController ctrl, AISVariable key) { if (!ctrl.ContainsKey(key)) { return(null); } AISVarList vars = (AISVarList)ctrl.GetVar(key); return(vars.@float); }
public static float GetSingleFloat(AISController ctrl, AISVariable key) { if (!ctrl.ContainsKey(key)) { return(0); } AISVarSingle var = (AISVarSingle)ctrl.GetVar(key); return(var.@float); }
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); } }
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); }
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; }
void EliminateVar(AISVariable v) { ai.variables.Remove(v); DestroyImmediate(v, true); }
void AddVar(AISVariable var) { var.name = "New Var"; SODatabase.Add(ai, var, ai.variables); }
public override void GuiParameters() { listKey = AISEditorUtil.VarPopUp("List to select", ai, listKey, typeof(AISVarList)); best = AISEditorUtil.VarPopUp("Single to select", ai, best, typeof(AISVarSingle)); }
public AISVariable GetVar(AISVariable key) { return(set[key]); }
public bool ContainsKey(AISVariable key) { return(set.ContainsKey(key)); }
public static T GetComponent <T>(AISController ctrl, AISVariable key) where T : Component { return(((AISVarComponent)ctrl.GetVar(key)).GetComponent <T>()); }
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())); }
public static T GetItemComponent <T>(AISController ctrl, AISVariable key) where T : InventorySystem.ItemComponent { return(((AISVarComponent)ctrl.GetVar(key)).GetItemComponent <T>()); }