Exemplo n.º 1
0
    // On entering the room, do nothing since there is nothing special in this room.
    protected override void OnRoomEnter(RoomMover mover)
    {
        if (!(mover is BasePlayerMover))
            return;
        
        if (!m_wonCombat)
        {
            _chooseEnemyTeam();

            int i = 0;

            foreach (CombatPawn pawn in m_roomEnemies.PawnsToSpawn)
            {
                Vector3 currentEnemyPos = m_enemyPosList[i].position;
                Quaternion currentEnemyRot = m_enemyPosList[i].rotation;
                GameObject pawnGameObject = PhotonNetwork.Instantiate("Enemies/EnemyTypes/" + pawn.PawnGenre + "/Bosses/" + pawn.name, currentEnemyPos, currentEnemyRot, 0);
                pawnGameObject.GetComponent<CombatPawn>().enabled = false;
                PhotonNetwork.Spawn(pawnGameObject.GetComponent<PhotonView>());
                m_enemyWorldPawns.Add(pawnGameObject);
                i++;
            }
        }

        m_musicManager.Fade(m_musicTracks[0], 5, true);
        //m_musicManager.MusicTracks = m_musicTracks;
        
        EventDispatcher.GetDispatcher<MusicEventDispatcher>().OnRoomMusicChange(RoomPageData.PageGenre);
    }
Exemplo n.º 2
0
 protected override void OnRoomEnter(RoomMover mover)
 {
     if (!(mover is BasePlayerMover))
         return;
     /*
     m_musicManager.MusicTracks = m_musicTracks;
     m_musicManager.Fade(m_musicTracks[0], 5, true);
     */
     EventDispatcher.GetDispatcher<MusicEventDispatcher>().OnStartRoomEntered();
 }
Exemplo n.º 3
0
    protected override IEnumerable OnRoomEvent(RoomMover mover)
    {
        if (!(mover is BasePlayerMover))
            yield break;

        m_readyPlayers.Clear();

        IsInRoomEvent = true;

        while (m_readyPlayers.Count < PhotonNetwork.playerList.Length)
        {
            yield return null;
        }

        IsInRoomEvent = false;
    }
Exemplo n.º 4
0
    // What do we do when all players reach the center of the room?
    // Most likely nothing, but that may change.
    protected override IEnumerable OnRoomEvent(RoomMover mover)
    {

        //TODO: Integrate with new game manager code to start combat
        if (!(mover is BasePlayerMover))
            yield break;

        if (!m_wonCombat)
        {
            //TODO: This code can be moved into the combat manager, seeing as it is the combats music.
            ResourceAsset playerTeam = GameManager.GetInstance<BaseStorybookGame>().DefaultPlayerTeam;
            Debug.Log("Team = " + m_roomEnemiesPrefabLoc + m_roomEnemies.gameObject.name);
            ResourceAsset enemyTeam = new ResourceAsset(m_roomEnemiesPrefabLoc + m_roomEnemies.gameObject.name, typeof(EnemyTeam));

            //m_musicManager.Fade(m_musicTracks[1], 5, true);
            CombatManager cm = GameManager.GetInstance<BaseStorybookGame>().StartCombat(new StandardCombatInstance(playerTeam, enemyTeam, RoomPageData.PageGenre, RoomPageData.PageLevel));

            // Send out a tutorial event
            EventDispatcher.GetDispatcher<TutorialEventDispatcher>().OnBossFightStarted();

            while (cm.IsRunning)
            {
                yield return null;
            }

            photonView.RPC(nameof(_resetCameraAfterCombat), PhotonTargets.All);

            DestroyEnemyWorldPawns();

            // Send out a tutorial event, notifying that the demo is completed
            EventDispatcher.GetDispatcher<TutorialEventDispatcher>().OnDemoCompleted();
        }
        else
        {
            m_musicManager.Fade(m_musicTracks[0], 5, true);
            ClearRoom();
        }
    }
Exemplo n.º 5
0
    // What happens when the players leave this room?
    // Hint: Nothing.
    protected override void OnRoomExit(RoomMover mover)
    {
        if (!(mover is BasePlayerMover))
            return;

        m_wonCombat = true;
    }
Exemplo n.º 6
0
 protected override void OnRoomExit(RoomMover mover)
 {
 }