public bool CompareTo(UseRange ur) { bool same = false; if(this.active == ur.active && this.range == ur.range && this.ignoreYDistance == ur.ignoreYDistance) { same = true; } return same; }
public static UseRange UseRangeSettings(UseRange ur) { if(DataHolder.BattleSystem().IsRealTime()) { EditorGUILayout.Separator(); ur.active = EditorGUILayout.Toggle("Use range", ur.active, GUILayout.Width(mWidth)); if(ur.active) { ur.range = EditorGUILayout.FloatField(ur.range, GUILayout.Width(mWidth*0.5f)); ur.ignoreYDistance = EditorGUILayout.Toggle("Ignore Y distance", ur.ignoreYDistance, GUILayout.Width(mWidth)); } } else ur.active = false; return ur; }
public bool InBattleRange() { bool inRange = true; if(this.user != null) { Combatant[] t = this.GetTargets(false); int count = 0; UseRange ur = new UseRange(); for(int i=0; i<t.Length; i++) { if(!ur.InRange(this.user, t[i])) { count++; } } // none in range if(t.Length > 0 && t.Length == count) { inRange = false; } } return inRange; }