Ejemplo n.º 1
0
 public static StatusRequirement StatusRequirementSettings(StatusRequirement req)
 {
     req.statusNeeded = (StatusNeeded)EditorTab.EnumToolbar("Needed", (int)req.statusNeeded, typeof(StatusNeeded), 600);
     if(StatusNeeded.STATUS_VALUE.Equals(req.statusNeeded))
     {
         req.statID = EditorGUILayout.Popup("Status value", req.statID, DataHolder.StatusValues().GetNameList(true), GUILayout.Width(mWidth));
         EditorGUILayout.BeginHorizontal();
         req.comparison = (ValueCheck)EditorTab.EnumToolbar("Comparison", (int)req.comparison, typeof(ValueCheck), 300);
         req.value = EditorGUILayout.IntField(req.value, GUILayout.Width(mWidth*0.5f));
         req.setter = (ValueSetter)EditorTab.EnumToolbar("", (int)req.setter, typeof(ValueSetter));
         GUILayout.FlexibleSpace();
         EditorGUILayout.EndHorizontal();
     }
     else if(StatusNeeded.ELEMENT.Equals(req.statusNeeded))
     {
         req.statID = EditorGUILayout.Popup("Element", req.statID, DataHolder.Elements().GetNameList(true), GUILayout.Width(mWidth));
         EditorGUILayout.BeginHorizontal();
         req.comparison = (ValueCheck)EditorTab.EnumToolbar("Comparison", (int)req.comparison, typeof(ValueCheck), 300);
         req.value = EditorGUILayout.IntField(req.value, GUILayout.Width(mWidth*0.5f));
         GUILayout.FlexibleSpace();
         EditorGUILayout.EndHorizontal();
     }
     else if(StatusNeeded.SKILL.Equals(req.statusNeeded))
     {
         req.statID = EditorGUILayout.Popup("Skill", req.statID, DataHolder.Skills().GetNameList(true), GUILayout.Width(mWidth));
     }
     else if(StatusNeeded.RACE.Equals(req.statusNeeded))
     {
         req.statID = EditorGUILayout.Popup("Race", req.statID, DataHolder.Races().GetNameList(true), GUILayout.Width(mWidth));
     }
     else if(StatusNeeded.SIZE.Equals(req.statusNeeded))
     {
         req.statID = EditorGUILayout.Popup("Size", req.statID, DataHolder.Sizes().GetNameList(true), GUILayout.Width(mWidth));
     }
     else if(StatusNeeded.LEVEL.Equals(req.statusNeeded))
     {
         req.classLevel = EditorGUILayout.Toggle("Class level", req.classLevel, GUILayout.Width(mWidth));
         req.value = EditorGUILayout.IntField("Level", req.value, GUILayout.Width(mWidth));
         req.comparison = (ValueCheck)EditorTab.EnumToolbar("Comparison", (int)req.comparison, typeof(ValueCheck), 300);
     }
     EditorGUILayout.Separator();
     return req;
 }
Ejemplo n.º 2
0
 public static StatusRequirement[] Add(StatusRequirement n, StatusRequirement[] list)
 {
     ArrayList tmp = new ArrayList();
     foreach(StatusRequirement str in list) tmp.Add(str);
     tmp.Add(n);
     return tmp.ToArray(typeof(StatusRequirement)) as StatusRequirement[];
 }
Ejemplo n.º 3
0
 private bool CheckRequirements(Combatant c, bool doCheck, StatusRequirement[] req, AIConditionNeeded needed)
 {
     bool check = false;
     if(doCheck)
     {
         check = true;
         bool any = false;
         for(int i=0; i<req.Length; i++)
         {
             if(req[i].CheckRequirement(c))
             {
                 any = true;
             }
             else if(AIConditionNeeded.ALL.Equals(needed))
             {
                 check = false;
                 break;
             }
         }
         if(AIConditionNeeded.ONE.Equals(needed) && !any &&
             req.Length > 0)
         {
             check = false;
         }
     }
     return check;
 }
Ejemplo n.º 4
0
 public static StatusRequirement[] Remove(int index, StatusRequirement[] list)
 {
     ArrayList tmp = new ArrayList();
     foreach(StatusRequirement str in list) tmp.Add(str);
     tmp.RemoveAt(index);
     return tmp.ToArray(typeof(StatusRequirement)) as StatusRequirement[];
 }