public override void execute() { JOIN_ROOM_RESULT result = (JOIN_ROOM_RESULT)(mResult.mValue); if (result == JOIN_ROOM_RESULT.JRR_SUCC) { UnityUtility.logInfo("加入房间成功, 房间ID:" + mRoomID); // 设置房间号和服务器中的位置 CharacterMyself myself = mCharacterManager.getMyself(); CharacterData data = myself.getCharacterData(); data.mRoomID = mRoomID.mValue; data.mServerPosition = (PLAYER_POSITION)mServerPosition.mValue; data.mBanker = mBanker.mValue; // 进入麻将场景 CommandGameSceneManagerEnter cmd = newCmd(out cmd); cmd.mSceneType = GAME_SCENE_TYPE.GST_MAHJONG; pushCommand(cmd, mGameSceneManager); // 进入麻将场景后,创建房间 MahjongScene mahjongScene = mGameSceneManager.getCurScene() as MahjongScene; Room room = mahjongScene.createRoom(myself.getCharacterData().mRoomID); // 将自己加入房间 CommandRoomJoin cmdJoin = newCmd(out cmdJoin); cmdJoin.mCharacter = myself; pushCommand(cmdJoin, room); } else { UnityUtility.logInfo("加入房间失败, 原因:" + result); } }
public override void execute() { string name = BinaryUtility.bytesToString(mName.mValue, Encoding.UTF8); UnityUtility.logInfo("获得玩家数据 : " + mPlayerGUID + ", 名字 : " + name); // 创建该玩家的实例 CommandCharacterManagerCreateCharacter cmdCreate = newCmd(out cmdCreate); cmdCreate.mName = name; cmdCreate.mID = mPlayerGUID.mValue; cmdCreate.mCharacterType = CHARACTER_TYPE.CT_OTHER; pushCommand(cmdCreate, mCharacterManager); CharacterOther other = mCharacterManager.getCharacter(mPlayerGUID.mValue) as CharacterOther; CharacterData data = other.getCharacterData(); data.mMoney = mMoney.mValue; data.mHead = mHead.mValue; data.mServerPosition = (PLAYER_POSITION)mPosition.mValue; data.mBanker = mBanker.mValue; data.mReady = mReady.mValue; // 将该玩家加入房间 GameScene gameScene = mGameSceneManager.getCurScene(); CommandRoomJoin cmd = newCmd(out cmd); cmd.mCharacter = other; pushCommand(cmd, (gameScene as MahjongScene).getRoom()); }
public override void execute() { GameScene gameScene = mGameSceneManager.getCurScene(); if (gameScene.getSceneType() != GAME_SCENE_TYPE.GST_MAHJONG) { return; } MahjongScene mahjongScene = gameScene as MahjongScene; // 跳转到等待流程 CommandGameSceneChangeProcedure cmdProcedure = newCmd(out cmdProcedure); cmdProcedure.mProcedure = PROCEDURE_TYPE.PT_MAHJONG_WAITING; pushCommand(cmdProcedure, mahjongScene); // 将自己加入房间 CharacterMyself myself = mCharacterManager.getMyself(); CommandRoomJoin cmdJoin = newCmd(out cmdJoin); cmdJoin.mCharacter = myself; pushCommand(cmdJoin, mahjongScene.getRoom()); CommandCharacterNotifyBanker cmdBanker = newCmd(out cmdBanker); cmdBanker.mBanker = mBanker.mValue; pushCommand(cmdBanker, myself); }
// 通知房间开始等待玩家加入 public void notifyStartWait() { mCanJoin = true; // 将未加入的玩家加入到房间中 int count = mNoneJoinPlayerList.Count; for (int i = 0; i < count; ++i) { CommandRoomJoin cmd = newCmd(out cmd); cmd.mCharacter = mNoneJoinPlayerList[i]; pushCommand(cmd, this); } mNoneJoinPlayerList.Clear(); }
public override void execute() { GameScene gameScene = mGameSceneManager.getCurScene(); if (!gameScene.atProcedure(PROCEDURE_TYPE.PT_MAHJONG_WAITING)) { return; } MahjongScene mahjongScene = gameScene as MahjongScene; Room room = mahjongScene.getRoom(); Character player = mCharacterManager.getCharacter(mOtherPlayerGUID.mValue); CommandRoomJoin cmdJoin = mCommandSystem.newCmd <CommandRoomJoin>(); cmdJoin.mCharacter = player; mCommandSystem.pushCommand(cmdJoin, room); CommandCharacterNotifyBanker cmdBanker = mCommandSystem.newCmd <CommandCharacterNotifyBanker>(); cmdBanker.mBanker = mBanker.mValue; mCommandSystem.pushCommand(cmdBanker, player); }