public void ChangeRate(NetCmdPack pack) { NetCmdChangeRate cmd = (NetCmdChangeRate)pack.cmd; byte clientSeat = SceneRuntime.ServerToClientSeat(cmd.Seat); if (GetPlayer(clientSeat) == null) { return; } byte OldRate = GetPlayer(clientSeat).RateIndex; GetPlayer(clientSeat).RateIndex = cmd.RateIndex; //Debug.Log(cmd.RateIndex); GetPlayer(clientSeat).Launcher.ChangeRate(cmd.RateIndex, cmd.IsCanUseRate); //如果是自己切换倍率我们就清掉连击状态 if (clientSeat == m_MyClientSeat) { if (m_PlayerList[clientSeat].ComboEft != null) { if (m_PlayerList[clientSeat].ComboEft.LifeTime >= 0.1f) { m_PlayerList[clientSeat].ComboEft.LifeTime = 0; } } } //因为玩家切换倍率 我们触发一个事件 tagGameRateChangeEvent pEvent = new tagGameRateChangeEvent(GetPlayer(clientSeat).Player.playerData.ID, OldRate, cmd.RateIndex); MsgEventHandle.HandleMsg(pEvent); }
public void ChangeRate(byte rateIndex) { NetCmdChangeRate ncb = new NetCmdChangeRate(); ncb.SetCmdType(NetCmdType.CMD_CHANGE_RATE); ncb.Seat = SceneRuntime.ClientToServerSeat(m_PlayerMgr.MyClientSeat); ncb.RateIndex = rateIndex; Send <NetCmdChangeRate>(ncb); }