Beispiel #1
0
    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;
        }
    }
Beispiel #2
0
 public void ClearTarget()
 {
     this.enemyRTS = null;
 }
Beispiel #3
0
 public void SetTarget(EnemyRTS enemyRTS)
 {
     this.enemyRTS = enemyRTS;
 }