void _onConenctedToMaster() { if (messageShown) { return; } messageShown = true; StateMachine.Instance.MakeTransition(typeof(StateInitialize)); ConnectionController.Instance.LoadLevelAsyncViaPhoton(SceneType.MainMenu.ToString()); if (M3GameCache.GetIsFriendlyBattle()) { EventListenerForPrivateChallenge.ShowUserIsNotAvailablePopup( LocalizationManager.Instance.GetString(LocalizationKeys.CANNOT_JOIN_BATTLE), () => { } ); } else { if (UserPreferenceManager.GetAIBattleCompletionState() == 0) { EventListenerForPrivateChallenge.ShowUserIsNotAvailablePopup( LocalizationManager.Instance.GetString(LocalizationKeys.OTHER_PLAYER), () => { } ); } } }
void _OnFindBattlePartner(object sender, System.EventArgs args) { findBattlePartner = true; VersusScreen.Instance.StartAnimation(); M3GameCache.SetBattleType(BattleType.RandomPVP); }
protected override void DoOfflineBattle() { if (battleField != null) { if (battleField.IsGameActive) //game has already begun. { return; } else if (battleField.IsGameEnd) //game has already ended. { return; } //wait for player disconnected callback. } if (M3GameCache.GetIsFriendlyBattle()) { DoCannotDoBattle(); } else { Helpers.Utility.LogMessage("StateOnlineBattle: Going for offlineBattle"); Events.EventManager.Instance.BattleFieldSceneUnloadedHandler += onBattleFieldSceneUnloaded; if (SceneManager.GetActiveScene().name == SceneUtil.GetSceneName(SceneType.BattleField)) { ConnectionController.Instance.LoadLevelAsyncViaPhoton(SceneUtil.GetSceneName(SceneType.BattleReloadScene)); } else { onBattleFieldSceneUnloaded(null, null); } } }
public override void OnStateEnter() { base.OnStateEnter(); challengeMode = Utils.STR_RANDOM; VersusScreen.Instance.StartAnimation(); M3GameCache.SetBattleType(BattleType.RandomPVP); ConnectionController.Instance.M3OnJoinedRoom += _onJoinedRoom; ConnectionController.Instance.M3OnPhotonJoinRoomFailed += _onJoinRoomFailed; ConnectionController.Instance.M3OnPhotonPlayerConnected += _onPhotonPlayerConnected; ConnectionController.Instance.M3OnPhotonPlayerDisconnected += _onPhotonPlayerDisconnected; Events.EventManager.Instance.UpdatePhotonRoomPropertiesHandler += _onUpdateRoomProperties; // ConnectionController.Instance.M3OnDisconnectedFromPhoton += _onDisconnectedFromPhoton; DoWaitForBattlePartner(); }
public override void OnStateEnter() { base.OnStateEnter(); M3GameCache.SetBattleType(BattleType.RandomPVP); ConnectionController.Instance.M3OnDisconnectedFromPhoton += _onDisconnect; ConnectionController.Instance.M3OnConnectedToMaster += _onConnect; Events.EventManager.Instance.MainMenuLoadCompleteHandler += _onMainMenuSceneLoaded; Events.EventManager.Instance.FindBattlePartnerHandler += _onFindBattlePartner; if (_data == null) { //no data was passed. } else { Dictionary <string, object> parameters = new Dictionary <string, object>(); parameters = _data as Dictionary <string, object>; if (parameters.ContainsKey(StateWaitForChallenge.FIND_BATTLE_PARTNER)) { findBattlePartner = (bool)parameters[StateWaitForChallenge.FIND_BATTLE_PARTNER]; } } if (ConnectionController.Instance.ConnectedAndOnline) { ConnectionController.Instance.Disconnect(); //then wait for disconnect callback. } else if (PhotonNetwork.connecting) { //Wait for connect Callback } else { if (ConnectionController.Instance.offlineMode) { _onConnect(); } else { ConnectionController.Instance.SwitchToOfflineMode(); } } }
void _OnFindBattlePartner(object sender, System.EventArgs args) { findBattlePartner = true; VersusScreen.Instance.StartAnimation(); M3GameCache.SetBattleType(BattleType.RandomPVP); M3PUN.Utils.UpdatePhotonPlayerProperties(); if (ConnectionController.Instance.ConnectedAndOnline) { DoFindMatch(); } else { VersusScreen.Instance.StartAnimation(); StateMachine.Instance.MakeTransition(typeof(StateGoForAIBattle)); } }
void DoOfflineBattle() { if (doingOfflineBattle) { return; } doingOfflineBattle = true; string nickName = M3GameCache.GetAINickName(); int leaderId = M3GameCache.GetAILeaderCardId(); int trophies = M3GameCache.GetAITrophies(); int arenaLevel = M3GameCache.GetAIArenaLevel(); int userLevel = M3GameCache.GetAIUserLevel(); string guildName = M3GameCache.GetAIGuildName(); VersusScreen.Instance.SetOpponentAttribs(nickName, string.Empty, leaderId, trophies, arenaLevel, userLevel, guildName); UserPreferenceManager.SetAIBattleCompletionState(1); }
protected void DoOfflineBattleAfterReload() { if (M3GameCache.GetIsFriendlyBattle()) { VersusScreen.Instance.StopAnimation(); StateMachine.Instance.MakeTransition(typeof(StateBattleEndCannotBattle)); } else { Helpers.Utility.LogMessage("StateGoForOnlineBattle: Going for offlineBattle"); VersusScreen.Instance.RestartAnimation(); Events.EventManager.Instance.BattleFieldSceneUnloadedHandler += onBattleFieldSceneUnloaded; if (SceneManager.GetActiveScene().name == SceneUtil.GetSceneName(SceneType.BattleField)) { ConnectionController.Instance.LoadLevelAsyncViaPhoton(SceneUtil.GetSceneName(SceneType.BattleReloadScene)); } else { onBattleFieldSceneUnloaded(null, null); } } }
void _onPrivateChallengeStartBattleHandler(object sender, Events.ChallengeArgs args) { M3GameCache.SetBattleType(privateChallengeArgs.BattleType); StateMachine.Instance.MakeTransition(typeof(StateGoForOnlineBattle)); }