Esempio n. 1
0
        private void GenerateTankTeam(Team team, Transform centerPosition)
        {
            // Generate
            List <GameObject> tanks = new List <GameObject>();

            foreach (TankSetting tankSetting in team.TankSettings)
            {
                GameObject instantiate = Instantiate(TankPrefab, centerPosition.position, Quaternion.identity, TankContent);
                instantiate.GetComponent <TankEntity>().Init(tankSetting, team);
                tanks.Add(instantiate);
            }
            // Setup position
            List <Vector3> skirmished = FormationUtils.Skirmished(tanks, centerPosition.transform.position, 2);

            for (int i = 0; i < tanks.Count; i++)
            {
                tanks[i].transform.position = centerPosition.position + skirmished[i];
            }
            TanksReference.Value.AddRange(tanks);
        }
    private void IssueMoveOrderToSelectedUnits(GameObject hitObject, Vector3 hitPoint)
    {
        for (int i = 0; i < player.selectedObjects.Count; i++)
        {
            Unit unit = (Unit)player.selectedObjects[i];

            var formationOffset = Vector3.zero;
            switch (formationManager.CurrentFormationType)
            {
            case FormationType.Auto:
                formationOffset = FormationUtils.CalculateAutoFormationOffset(player, unit, hitPoint);
                break;

            case FormationType.Manual:
                formationOffset = FormationUtils.CalculateManualFormationOffset(player, unit);
                break;

            default:
                break;
            }

            IssueMoveOrderToUnit(unit, hitObject, hitPoint, formationOffset);
        }
    }