void Update() { UpdateNow(); float takeRad = 10f; Collider2D[] soldiersToTake = Physics2D.OverlapCircleAll(transform.position, takeRad, 1 << SM.SoldierLayer); foreach (Collider2D sold in soldiersToTake) { Transform soldier = sold.transform; int index = freeIndex; if (SM.GetArmy(soldier) == army && index != -1 && SM.IsPrivate(soldier.GetComponent <Soldier>())) { Private priv = SM.AsPrivate(soldier.GetComponent <Soldier>()); if (!priv.officer && priv.eqSet == eqSet) { Vector3 pos = formation[index]; priv.deltaV = pos; priv.index = index; subs[index] = priv.transform.Find("Soldier").GetComponent <Soldier>(); priv.SetOfficer(this); soldier.GetComponent <Soldier>().moral = soldier.GetComponent <Soldier>().moral > 50f ? soldier.GetComponent <Soldier>().moral : 50f; soldier.GetComponent <Soldier>().DefendNow(); if (CM.Contains(this.transform.Find("Soldier").GetComponent <Soldier>())) { soldier.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Soldier/S_Base_HL_" + army); } else { soldier.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Soldier/S_Base_" + army); } } } } }