Exemplo n.º 1
0
    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);
    }
Exemplo n.º 2
0
 public UnitFrame()
 {
     unitLayout = new UnitLayout();
 }