protected override void HandleMsg(EPhotonMsg pReceivedMsg, object[] pParams, ByteBuffer bb) { switch (pReceivedMsg) { case EPhotonMsg.MainMenu_SyncGameInfo: GameInitInfoS infoS = GameInitInfoS.GetRootAsGameInitInfoS(bb); GameInitInfo gameInfo = GameInitInfo.Deserialize(infoS); Debug.Log(gameInfo); //reset current game info - DONT assign it //it will be set from UI elements brainiacs.GameInitInfo = new GameInitInfo(); mainMenu.GameSetup.OpenMain(gameInfo); break; case EPhotonMsg.MainMenu_SyncPlayerInfo: PlayerInitInfoS playerInfoS = PlayerInitInfoS.GetRootAsPlayerInitInfoS(bb); PlayerInitInfo playerInfo = PlayerInitInfo.Deserialize(playerInfoS); mainMenu.GameSetup.SetupMain.UpdatePlayer(playerInfo); break; case EPhotonMsg.None: default: Debug.LogError("Message not handled"); break; } }
public void debug_ReceiveGameinfo() { GameInitInfo info = new GameInitInfo(); info.Mode = EGameMode.Deathmatch; PlayerInitInfo player = new PlayerInitInfo( 1, EHero.Currie, "ADA", EPlayerColor.Blue, EPlayerType.LocalPlayer); player.PhotonPlayer = PhotonNetwork.LocalPlayer; info.AddPlayer(player); player = new PlayerInitInfo( 1, EHero.Einstein, "ADA_bot", EPlayerColor.Red, EPlayerType.AI); player.PhotonPlayer = PhotonNetwork.LocalPlayer; info.AddPlayer(player); player = new PlayerInitInfo( 1, EHero.DaVinci, "ADA_remote", EPlayerColor.Yellow, EPlayerType.RemotePlayer); player.PhotonPlayer = PhotonNetwork.LocalPlayer; info.AddPlayer(player); player = new PlayerInitInfo( 1, EHero.Nobel, "ADA_remote2", EPlayerColor.Pink, EPlayerType.RemotePlayer); //player.PhotonPlayer = PhotonNetwork.LocalPlayer; player.IsReady = true; info.AddPlayer(player); var gameInfoBytes = info.Serialize(); MainMenu.Instance.Photon.debug_HandleMsg(EPhotonMsg.MainMenu_SyncGameInfo, gameInfoBytes); }
public void Init() { //Info = pPlayerInfo; GameInitInfo gameInitInfo = brainiacs.GameInitInfo; lives = gameInitInfo.Mode == EGameMode.Deathmatch ? gameInitInfo.GameModeValue : 666; //SetStat(EPlayerStats.Health, MAX_HEALTH); //Hero = pPlayerInfo.Hero; //Name = pPlayerInfo.Name; //Color = pPlayerInfo.Color; player.OnPlayerInited.AddAction(OnRespawn); //stats can be set only after player is inited //OnRespawn(); //to update health etc }
internal void SetGameInfo(GameInitInfo pGameInfo) { for (int i = 0; i < pGameInfo.Players.Count; i++) { PlayerInitInfo player = pGameInfo.Players[i]; AddPlayer(player); } EGameMode mode = pGameInfo.Mode; gameModeToggleTime.isOn = mode == EGameMode.Time; gameModeToggleScore.isOn = mode == EGameMode.Score; gameModeToggleDeathmatch.isOn = mode == EGameMode.Deathmatch; mapSwapper.SetValue((int)pGameInfo.Map); gameModeValueSwapper.SetNumberValue(pGameInfo.GameModeValue); }
internal static GameInitInfo Deserialize(GameInitInfoS pGameInfoS) { GameInitInfo gameInfo = new GameInitInfo(); gameInfo.Mode = (EGameMode)pGameInfoS.Mode; gameInfo.Map = (EMap)pGameInfoS.Map; gameInfo.GameModeValue = pGameInfoS.GameModeValue; for (int i = 0; i < pGameInfoS.PlayersLength; i++) { PlayerInitInfoS?playerS = pGameInfoS.Players(i); if (playerS != null) { gameInfo.AddPlayer(PlayerInitInfo.Deserialize((PlayerInitInfoS)playerS)); } } return(gameInfo); }
internal void OpenMain(GameInitInfo pGameInfo) { OpenMain(false); SetupMain.SetGameInfo(pGameInfo); }