public static UnitLayout CalcAllAliveTanksLayout() { UnitLayout layout = null; BattleGame game = BattleGame.instance; List <Unit> tanks = game.unitGroup.allUnits; for (int i = 0; i < tanks.Count; ++i) { Unit unit = tanks[i]; if (unit.isDead) { continue; } float length = unit.unit.dataUnit.length; if (layout == null) { layout = new UnitLayout(); layout.min = unit.transform.position - new Vector3(length, length, length); layout.max = unit.transform.position + new Vector3(length, length, length); } else { layout.min.x = Mathf.Min(layout.min.x, unit.transform.position.x); layout.min.y = Mathf.Min(layout.min.y, unit.transform.position.y); layout.min.z = Mathf.Min(layout.min.z, unit.transform.position.z); layout.max.x = Mathf.Max(layout.max.x, unit.transform.position.x); layout.max.y = Mathf.Max(layout.max.y, unit.transform.position.y); layout.max.z = Mathf.Max(layout.max.z, unit.transform.position.z); } } return(layout); }
public UnitFrame() { unitLayout = new UnitLayout(); }