protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); Log.Debug("PlayerStateEnterRoom Enter name={0}", fsm.Owner.name); fsm.Owner.OnEnterRoom(); fsm.Owner.state = EPlayerState.Watch; }
protected override void OnUpdate(GameFramework.Fsm.IFsm <Player> fsm, float elapseSeconds, float realElapseSeconds) { base.OnUpdate(fsm, elapseSeconds, realElapseSeconds); //如果手牌数据有3个有效的(不为0)则翻牌算牌型 if (fsm.Owner.handCardsData.Count > 0) { int validNum = 0; for (int i = 0; i < fsm.Owner.handCardsData.Count; i++) { if (fsm.Owner.handCardsData[i] > 0) { validNum++; } } if (!makingcard && validNum == fsm.Owner.handCardsData.Count) { fsm.Owner.OnMakeHandCard(); makingcard = true; } if (makingcard && fsm.Owner.handCards.Count == fsm.Owner.handCardsData.Count) { makingcard = false; ChangeState <PlayerStateCardStyle>(fsm); } } }
protected override void OnUpdate(GameFramework.Fsm.IFsm <Player> fsm, float elapseSeconds, float realElapseSeconds) { base.OnUpdate(fsm, elapseSeconds, realElapseSeconds); if (fsm.Owner.handCardsData.Count == 3) { ChangeState <PlayerStatePlaying>(fsm); } }
protected override void OnUpdate(GameFramework.Fsm.IFsm <Player> fsm, float elapseSeconds, float realElapseSeconds) { base.OnUpdate(fsm, elapseSeconds, realElapseSeconds); if (fsm.Owner.state == EPlayerState.Seat) { ChangeState <PlayerStateSeat>(fsm); } }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); fsm.Owner.OnShowCard(); fsm.Owner.OnBid(); Log.Debug("进入抢庄"); }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); fsm.Owner.OnShowCard(); if (fsm.Owner.id.Value != RoomManager.Instance.rData.bid.Value) { fsm.Owner.OnBet(); } Log.Debug("进入下注"); }
protected override void OnUpdate(GameFramework.Fsm.IFsm <Player> fsm, float elapseSeconds, float realElapseSeconds) { base.OnUpdate(fsm, elapseSeconds, realElapseSeconds); if (fsm.Owner.state == EPlayerState.Bet) { ChangeState <PlayerStateBet>(fsm); } else if (fsm.Owner.state == EPlayerState.Deal) { //先抢庄再发牌 ChangeState <PlayerStateDeal>(fsm); } }
protected override void OnUpdate(GameFramework.Fsm.IFsm <Player> fsm, float elapseSeconds, float realElapseSeconds) { base.OnUpdate(fsm, elapseSeconds, realElapseSeconds); if (fsm.Owner.state == EPlayerState.GamePrepare) { ChangeState <PlayerStateGameReady>(fsm); } else if (fsm.Owner.state == EPlayerState.Watch) { ChangeState <PlayerStateEnterRoom>(fsm); } else if (fsm.Owner.state == EPlayerState.End) { ChangeState <PlayerStateEnd>(fsm); } }
protected override void OnUpdate(GameFramework.Fsm.IFsm <Player> fsm, float elapseSeconds, float realElapseSeconds) { base.OnUpdate(fsm, elapseSeconds, realElapseSeconds); // if (CardManager.Instance.cardManagerState == CardManagerStates.Playing) // { // //先发牌再抢庄 // fsm.Owner.state = EPlayerState.Banker; // ChangeState<PlayerStateBanker>(fsm); // } if (fsm.Owner.state == EPlayerState.Banker) { ChangeState <PlayerStateBanker>(fsm); } else if (fsm.Owner.state == EPlayerState.Bet) { ChangeState <PlayerStateBet>(fsm); } }
protected override void OnInit(object userData) { base.OnInit(userData); Fsm = UnityGameFramework.Runtime.GameEntry.GetComponent <FsmComponent>(); /* 英雄的所有状态类 */ FsmState <Demo10_HeroLogic>[] heroStates = new FsmState <Demo10_HeroLogic>[] { new Demo10_HeroIdleState(), new Demo10_HeroWalkState(), }; /* 创建状态机 */ m_HeroFsm = Fsm.CreateFsm <Demo10_HeroLogic> (this, heroStates); /* 启动站立状态 */ m_HeroFsm.Start <Demo10_HeroIdleState> (); }
/// <summary> /// 初始化状态机 /// </summary> private void InitFSM() { monsterStateFsm = GameEntry.Fsm.CreateFsm <Monster> ("monsterStateFsm" + this.Id, this, new FsmState <Monster>[] { new MonsterCDIdleState(), new MonsterAtkCDState(), }); monsterActionFsm = GameEntry.Fsm.CreateFsm <Monster> ("monsterActionFsm" + this.Id, this, new FsmState <Monster>[] { new MonsterIdleState(), new MonsterWalkState(), new MonsterAtkState(), new MonsterHurtState(), new MonsterDeadState(), }); /* 启动状态机 */ monsterStateFsm.Start <MonsterCDIdleState> (); monsterActionFsm.Start <MonsterIdleState> (); }
/// <summary> /// 初始化状态机 /// </summary> private void InitFSM() { /* 创建状态机 */ heroStateFsm = GameEntry.Fsm.CreateFsm <Hero> ("heroStateFsm", this, new FsmState <Hero>[] { new HeroCDIdleState(), new HeroAtkCDState(), }); heroActionFsm = GameEntry.Fsm.CreateFsm <Hero> ("heroActionFsm", this, new FsmState <Hero>[] { new HeroIdleState(), new HeroWalkState(), new HeroAtkState(), new HeroHurtState(), new HeroDeadState(), }); /* 启动状态机 */ heroStateFsm.Start <HeroCDIdleState> (); heroActionFsm.Start <HeroIdleState> (); }
protected override void OnShow(object userData) { base.OnShow(userData); Debug.Log("Player已加载"); // Player状态类 FsmState <PlayerLogic>[] playerStates = new FsmState <PlayerLogic>[] { new PlayerIdleState(), new PlayerWalkState() }; // 创建状态机 m_PlayerFsm = GameEntry.Fsm.CreateFsm <PlayerLogic>(this, playerStates); // 启动站立状态 m_PlayerFsm.Start <PlayerIdleState>(); }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); Log.Debug("PlayerStateInit Enter"); ChangeState <PlayerStateEnterRoom>(fsm); }
protected override void OnLeave(GameFramework.Fsm.IFsm <Player> fsm, bool isShutdown) { base.OnLeave(fsm, isShutdown); fsm.Owner.bBiding.Value = false; }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); Log.Debug("进入发牌表现"); CardManager.Instance.DoDealCards(); }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); fsm.Owner.OnSeatPre(); Log.Debug("进入准备入座"); }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); Log.Debug("PlayerStateSeat Enter name={0}", fsm.Owner.name); fsm.Owner.OnSeat(); }
protected override void OnInit(GameFramework.Fsm.IFsm <Player> fsm) { base.OnInit(fsm); Log.Debug("PlayerStatePlaying OnInit name={0}", fsm.Owner.name); }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); fsm.Owner.OnDeal(); Log.Debug("开始接受服务器的牌数据"); }
protected override void OnEnter(GameFramework.Fsm.IFsm <IProcedureManager> procedureOwner) { base.OnEnter(procedureOwner); }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); fsm.Owner.OnStart(); Log.Debug("游戏开始"); }
protected override void OnLeave(GameFramework.Fsm.IFsm <Player> fsm, bool isShutdown) { base.OnLeave(fsm, isShutdown); }
protected override void OnInit(GameFramework.Fsm.IFsm <Player> fsm) { base.OnInit(fsm); }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); fsm.Owner.OnCardStyle(); Log.Debug("进入算分"); }
protected override void OnUpdate(GameFramework.Fsm.IFsm <Player> fsm, float elapseSeconds, float realElapseSeconds) { base.OnUpdate(fsm, elapseSeconds, realElapseSeconds); }
protected override void OnDestroy(GameFramework.Fsm.IFsm <Player> fsm) { base.OnDestroy(fsm); }
protected override void OnEnter(GameFramework.Fsm.IFsm <Player> fsm) { base.OnEnter(fsm); fsm.Owner.OnGameReady(); Log.Debug("{0}进入准备", fsm.Owner.name); }