public override void OnEnter(FsmStateArgs args) { if (GameCenter.DataCenter.Room.RoomType == MahRoomType.YuLe) { GameCenter.Network.CtrlYuleRejoin(true); } //执行继承IGameEndCycle接口脚本 GameCenter.Lifecycle.GameEndCycle(); //执行继承IGameReadyCycle接口脚本 GameCenter.Lifecycle.GameReadyCycle(); var db = GameCenter.DataCenter; //当前用户没有准被 发送准备消息 if (!db.OneselfData.IsReady) { if (db.ConfigData.AutoReady) { GameCenter.Network.C2S.Ready(); } else { GameCenter.EventHandle.Dispatch((int)UIEventProtocol.ReadyBtnCtrl, new PanelTriggerArgs() { ReadyState = true }); } } var handler = GameCenter.Network.DispatchResponseHandlers(CustomClientProtocol.CustomTypeReadyLogic); if (null != handler) { handler(null); } }
public override void OnEnter(FsmStateArgs args) { var dataCenter = GameCenter.DataCenter; if (dataCenter.Room.RoomType == MahRoomType.YuLe) { GameCenter.Network.CtrlYuleRejoin(true); } //执行继承IGameInfoICycle接口脚本 GameCenter.Lifecycle.GameInfoICycle(); //检查投票解散房间 ContinueTaskManager.NewTask().AppendFuncTask(() => RejionHandup((args as SfsFsmStateArgs).SFSObject)).Start(); //var flag = dataCenter.Players.IsSende() && (dataCenter.Room.RoomType == MahRoomType.YuLe); if (dataCenter.IsReconect) { ChangeState <StateGameReconnect>(args); } else { ChangeState <StateGameReady>(); InviteLastMahjongFriend(); } SetShake(); }
public override void OnEnter(FsmStateArgs args) { //注册事件 GameCenter.EventHandle.Subscriber((int)UIEventProtocol.OnCreateNewGame, OnCreateNewGame); //开始发送消息 Facade.Instance <TWMessageManager>().StartRollNotice(); ContinueTaskManager.NewTask().AppendFuncTask(CheckContinueGame).Start(); mFlag = true; }
public override void OnEnter(FsmStateArgs args) { //执行继承ISceneInitCycle接口脚本 GameCenter.Lifecycle.SceneInitCycle(); if (GameCenter.Instance.GameType == GameType.Normal) { //开启网络监听 GameCenter.Network.StartNetworkListener(); } }
public override void OnEnter(FsmStateArgs args) { //执行继承IGameEndCycle接口脚本 GameCenter.Lifecycle.GameEndCycle(); if (GameCenter.DataCenter.ConfigData.ContinueNewGame && GameCenter.DataCenter.IsGameOver) { //切换继续开局状态 ChangeState <StateGameContinue>(); } }
public override void OnEnter(FsmStateArgs args) { GameCenter.Playback.InitReplayData(); GameCenter.Playback.StartupTask(); GameCenter.Lifecycle.ContinuePlaybackCycle(); GameCenter.Playback.OnReset(); GameCenter.Playback.InitPlaybackScene(); GameCenter.EventHandle.Subscriber((int)UIEventProtocol.PlaybackRestart, PlaybackRestart); }
public override void OnEnter(FsmStateArgs args) { //执行继承IReconnectedCycle接口脚本 GameCenter.Lifecycle.ReconnectedCycle(); var gameinfoData = args as SfsFsmStateArgs; var handler = GameCenter.Network.DispatchResponseHandlers(CustomClientProtocol.CustomTypeReconnectLogic); if (null != handler) { handler(gameinfoData.SFSObject); } if (GameCenter.DataCenter.OperateMenu != 0) { var opHandler = GameCenter.Network.DispatchResponseHandlers(NetworkProtocol.MJOpreateType); if (null != opHandler) { var userSFSObject = gameinfoData.SFSObject.GetSFSObject(RequestKey.KeyUser); opHandler(userSFSObject); } } ChangeState <StateGamePlaying>(); }
public override void OnEnter(FsmStateArgs args) { AddMahjongFriends(); //执行继承IGameStartCycle接口脚本 GameCenter.Lifecycle.GameStartCycle(); }
public void ChangeState <TState>(FsmStateArgs args) where TState : FsmState { GameProcess.ChangeState <TState>(typeof(TState).Name, args); }