public void Init(Formations.formation _formation, FormationSpawner _spawner) { formation = _formation; spawner = _spawner; if (!spawner) { Debug.Log("We need a spawner to do this"); } if (formation == null) { Debug.Log("formation is empty"); } GameObject prefab = spawner.GetPrefab(formation.icon); unitModel = Instantiate(prefab, transform.position, transform.rotation) as GameObject; unitModel.GetComponent <CapsuleCollider>().enabled = false; unitModel.name = prefab.name; unitModel.transform.SetParent(transform); unitModel.transform.Rotate(0.0f, (Random.value * 50.0f) - 25.0f, 0.0f); unitModel.transform.localScale = Vector3.one; UnitControl unitControl = unitModel.GetComponent <UnitControl>(); unitControl.SetWaitingState(true); GameObject canvas = transform.Find("Canvas").gameObject; canvas.AddComponent <InputRepeater>().SetTarget(gameObject); nameText = transform.Find("Canvas/Name").GetComponent <Text>(); nameText.text = formation.name.ToUpper(); costText = transform.Find("Canvas/Cost").GetComponent <Text>(); costText.text = formation.cost.ToString(); }
public void HandoffUnit(GameObject unit, Formations.formation formation) { unitToSpawn = unit; formationToSpawn = formation; moveTimer = 0.0f; unitStartPos = unitToSpawn.transform.position; }