private void HandleRightClick() { Collider2D[] collider2DArray = Physics2D.OverlapPointAll(UtilsClass.GetMouseWorldPosition()); foreach (Collider2D collider2D in collider2DArray) { EnemyRTS enemyRTS = collider2D.GetComponent <EnemyRTS>(); if (enemyRTS != null) { // Right Click on Enemy, Attack! foreach (UnitRTS unitRTS in selectedUnitRTSList) { unitRTS.SetTarget(enemyRTS); } return; } } // Move To Position Vector3 moveToPosition = UtilsClass.GetMouseWorldPosition(); List <Vector3> targetPositionList = GetPositionListAround(moveToPosition, new float[] { 10f, 20f, 30f }, new int[] { 5, 10, 20 }); int targetPositionListIndex = 0; foreach (UnitRTS unitRTS in selectedUnitRTSList) { unitRTS.ClearTarget(); unitRTS.MoveTo(targetPositionList[targetPositionListIndex]); targetPositionListIndex = (targetPositionListIndex + 1) % targetPositionList.Count; } }
public void ClearTarget() { this.enemyRTS = null; }
public void SetTarget(EnemyRTS enemyRTS) { this.enemyRTS = enemyRTS; }