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); } }