private static void lDoWhenClick() { Transform s = GetObjectUnderMouse(SM.SoldierLayer); Soldier soldier = s ? s.GetComponent <Soldier>() : null; Soldier officer = soldier ? SM.GetOfficer(soldier) : null; if (officer && (officer.army == yourArmy)) { if (!(Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))) { ClearTargets(); } Soldier[] subs = SM.AsOfficer(officer).subs; if (!targets.Contains(officer)) { officer.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Soldier/S_Base_Officer_HL_" + yourArmy); plusTarget(officer); foreach (Soldier sold in subs) { if (sold != null) { sold.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Soldier/S_Base_HL_" + yourArmy); } } } else { officer.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Soldier/S_Base_Officer_" + yourArmy); minusTarget(officer); foreach (Soldier sold in subs) { if (sold != null) { sold.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Soldier/S_Base_" + yourArmy); } } } } //attack else if (Input.GetKey(KeyCode.A)) { Attack(); } //move else if (Input.GetKey(KeyCode.G)) { Move(); } else { ClearTargets(); } }
private static void lDoWhenLong() { if (!(Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))) { ClearTargets(); } Collider2D[] soldiers = Physics2D.OverlapAreaAll(firstMousePos, mousePos, 1 << SM.SoldierLayer); if (soldiers.Length != 0) { if (!(Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))) { ClearTargets(); } } foreach (Collider2D sold in soldiers) { Soldier soldd = sold.GetComponent <Soldier>(); Soldier officer = SM.GetOfficer(soldd); if (officer && officer.army == yourArmy) { Soldier[] subs = SM.AsOfficer(officer).subs; if (!targets.Contains(officer)) { officer.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Soldier/S_Base_Officer_HL_" + yourArmy); plusTarget(officer); foreach (Soldier sol in subs) { if (sol != null) { sol.GetComponent <SpriteRenderer>().sprite = Resources.Load <Sprite>("Soldier/S_Base_HL_" + yourArmy); } } } } } }