Exemple #1
0
    IEnumerator EventRoutine(float enemies_seed)
    {
        //Do enemies first
        //For each place
        //Walk for x/2 seconds
        //StopAt() place
        //yield return bv.ToggleMovementRoutine(0.5f,1);
        //yield return new WaitForSeconds(2);
        //yield return bv.ToggleMovementRoutine(0,1);
        for (int i = 0; i < current_event_adventure.stops.Length; i++)
        {
            current_place = i;
            Stop current_stop = current_event_adventure.stops[i];
            GameManager.instance.TogglePlayersMovement(true);
            yield return(bv.ToggleMovementRoutine(0.5f, 1));

            yield return(new WaitForSeconds(1 * current_stop.distance));

            GameManager.instance.TogglePlayersMovement(false);
            yield return(bv.ToggleMovementRoutine(0, 1));

            if (current_stop.enemies != null)
            {
                if (current_stop.enemies.Length > 0)
                {
                    EnemyManager.instance.NewCombat(current_stop.enemies, true);
                }
            }
            yield return(current_event_adventure.ToggleStopRoutine(current_event_adventure.stops[i], 1, true));

            yield return(new WaitForSeconds(15));

            yield return(current_event_adventure.ToggleStopRoutine(current_event_adventure.stops[i], 1, false));

            EnemyManager.instance.NewCombat(current_stop.enemies, false);
        }
        //GameManager.instance.TogglePlayersCombat(true);
        //yield return new WaitForSeconds(10);
        //GameManager.instance.TogglePlayersCombat(false);
        if (PhotonNetwork.IsMasterClient)
        {
            EndEncounter();
        }
        else
        {
            RPC_EndEncounter();
        }
        yield break;
    }