Example #1
0
 public static void StartTurn2()
 {
     if (count > 0)
     {
         currentUnit.BeginTurn();
         Debug.Log(count);
         //Debug.Log (turnTeam);
         //Debug.Log (turnTeam.Count);
     }
 }
Example #2
0
 public static void InitUnitTurn()
 {
     if (countMovs > 0)
     {
         currentUnit.BeginTurn();
         /*Poner De momento aqui - es para que funcione bien el turno de los npc si lo quitas no se le va el turno a los npc  */
         GameObject[] units = GameObject.FindGameObjectsWithTag("NPC");
         foreach (GameObject unit in units)
         {
             TacticsMove npc = unit.GetComponent <TacticsMove>();
             npc.moved = false;
         }
     }
 }
Example #3
0
    public static void StartTurn()
    {
        if (turnTeam.Count > 0)
        {
            TacticsMove unit = turnTeam.Peek();
            unit.currentlySelected = true;

            if (unit.CompareTag("Player"))
            {
                unit.GetComponent <PlayerMove>().SelectedClick();
            }
            else
            {
                unit.currentlySelected = false;
            }
            unit.BeginTurn();
        }
    }
Example #4
0
 public static void InitNPCTurn()
 {
     Debug.Log("TurnoNPC");
     GameObject[] units = GameObject.FindGameObjectsWithTag("NPC");
     Debug.Log(units.Length);
     countMovs = units.Length;
     countAtks = 0;        //units.Length;
     foreach (GameObject unit in units)
     {
         TacticsMove npc = unit.GetComponent <TacticsMove>();
         //npc.moved = false;
         currentUnit = npc;
         //PROBAR EL INVOKE REPEATING
         NPCMove prueba = unit.GetComponent <NPCMove> ();
         prueba.FindNearestTarget();
         currentUnit.BeginTurn();
     }
     InitPlayerTurn();          //??? - REVISAR POR QUE NO LO SETEA A 4 Y LO SETEA A 0
 }
Example #5
0
    static void StartTurn()
    {
        if (units.Count > 0)
        {
            TacticsMove unitTurn = units.Dequeue();
            if (unitTurn.dead)
            {
                StartTurn();
            }
            else
            {
                unitTurn.BeginTurn();
            }
        }

        /*else
         * {
         *  turnKey.Dequeue();
         * }*/
    }
Example #6
0
    /// <summary>
    /// Exchanges turns between units of the same team if unitToPlay still playable
    /// </summary>
    /// <param name="playedUnit">unit currently playing</param>
    /// <param name="unitToPlay">unit to play now</param>
    public static bool ExchangeTurn(TacticsMove playedUnit, TacticsMove unitToPlay)
    {
        if (turnTeam.Contains(unitToPlay))
        {
            //if exchange : need to be first in queue (or change data structure/ use bools)
            TacticsMove[] tmpArray = turnTeam.ToArray();
            turnTeam.Clear();

            turnTeam.Enqueue(unitToPlay);
            for (int i = 0; i < tmpArray.Length; ++i)
            {
                if (tmpArray[i] != unitToPlay)
                {
                    turnTeam.Enqueue(tmpArray[i]);
                }
            }
            playedUnit.turn = false;
            unitToPlay.BeginTurn();
            return(true);
        }
        return(false);
    }
Example #7
0
    static void StartTurn()
    {
        if (units.Count > 0)
        {
            TacticsMove unitTurn = units.Dequeue();

            if (unitTurn.dead)
            {
                StartTurn();
            }
            else
            {
                // Is being used in the HurtEnemyUnit script
                currentUnit = unitTurn; // variable to keep track of the current unit


                cam.LookAt = unitTurn.transform;
                cam.Follow = unitTurn.transform;

                unitTurn.BeginTurn();
            }
        }
    }
Example #8
0
 public static void StartTurn()
 {
     CurrentSelected.BeginTurn();
     CurrentSelected.MoveAction();
 }
Example #9
0
    void Update()
    {
        if (Input.GetMouseButtonUp(1))
        {
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit, Mathf.Infinity))
            {
                if (hit.collider.tag == TurnManager.CurrentTeam)
                {
                    if (!hit.collider.GetComponent <TacticsMove>().turn&& !hit.collider.GetComponent <TacticsMove>().passedTurn)
                    {
                        TurnManager.CurrentSelected.EndTurn();
                        hit.collider.GetComponent <TacticsMove>().BeginTurn();
                        TacticsMove currentTm = hit.collider.GetComponent <TacticsMove>();
                        TurnManager.CurrentSelected = currentTm;
                        currentTm.BeginTurn();
                        currentTm.MoveAction();

                        if (equipmentDisplay.isActiveAndEnabled)
                        {
                            equipmentDisplay.UpdateEquipment(true);
                        }
                    }
                }
            }
        }

        if (Input.GetKeyDown(KeyCode.C))
        {
            CraftManager.UpdateRecipes();
            GetComponent <Recipe>().Craft();
        }

        if (camFollow && TurnManager.CurrentTeam == "Player")
        {
            newCameraPos = new Vector3(newCameraPos.x, cameraBase.transform.position.y, newCameraPos.z);
            cameraBase.transform.position = Vector3.MoveTowards(cameraBase.transform.position, newCameraPos, cameraBase.GetComponent <CameraControl>().panSpeed);
            if (cameraBase.transform.position == newCameraPos)
            {
                camFollow = false;
            }
        }

        if (!TurnManager.combatInitialized)
        {
            if (TurnManager.UnitList.Count > 0)
            {
                TurnManager.InitCombat();
                follow = true;
            }
            else
            {
                follow = false;
            }
        }

        if (follow)
        {
            transform.position = TurnManager.CurrentSelected.transform.position + new Vector3(0, 2, 0);
        }
    }