void CreateMonster() { //服务器添加命令 for (int i = 0; i < 3; ++i) { Monster monster = new Monster(mMonsterId++); mMonsterList.Add(monster); monster.mPlayerInfo.name = "Server " + monster.roleid; monster.mPlayerInfo.type = 2;//Boss monster.position.x = ((i + 1) * (i % 2 == 0 ? -3 : 3)) * 10000; monster.position.y = 1 * 10000; monster.position.z = -10 * 10000; CMD_CreateMonster data = new CMD_CreateMonster(); data.roleId = SERVER_ROLEID; data.player = ProtoTransfer.Get(monster.mPlayerInfo); data.position = ProtoTransfer.Get(monster.position); data.direction = ProtoTransfer.Get(monster.direction); Command cmd = new Command(); cmd.Set(CommandID.CREATE_MONSTER, data); AddCommand(cmd); } }
private void BeginGame() { mCurrentFrame = 1; mBegin = true; //游戏开始 mFrameTime = 0; //服务器添加命令 for (int i = 0; i < 3; ++i) { Monster monster = new Monster(mMonsterId++); mMonsterList.Add(monster); monster.mLifeEntity.name = "Server " + monster.Id; monster.mLifeEntity.type = 2;//Boss monster.Position = new UnityEngine.Vector3Int(((i + 1) * (i % 2 == 0 ? -3 : 3)) * 10000, 1 * 10000, -10 * 10000); CMD_CreateMonster data = new CMD_CreateMonster(); data.Id = SERVER_ROLEID;//服务器也参与整局游戏,负责发送一些全局命令,比如Buff、怪物生成 data.Monster = ProtoTransfer.Get(monster.mLifeEntity); data.Position = ProtoTransfer.Get(monster.Position); data.Direction = ProtoTransfer.Get(monster.Direction); Command cmd = new Command(); cmd.Set(CommandID.CreateMonster, data); AddCommand(cmd); } }
void OnCreateMonster(CMD_CreateMonster cmd) { if (cmd == null) { return; } CreatePlayerCharacter(ProtoTransfer.Get(cmd.player)); PlayerCharacter tmpPlayerCharacter = PlayerManager.GetSingleton().GetPlayerCharacter(cmd.player.roleId); if (tmpPlayerCharacter) { tmpPlayerCharacter.SetPosition(ProtoTransfer.Get(cmd.position)); tmpPlayerCharacter.SetRotation(ProtoTransfer.Get(cmd.direction)); tmpPlayerCharacter.SetReady(); } }
void CreateMonster() { CMD_CreateMonster data = new CMD_CreateMonster(); data.roleId = 0; data.player = new GMPlayerInfo(); for (int i = 0; i < 5; ++i) { data.player.roleId = 10000 + i; data.player.type = 1; //怪物 data.player.moveSpeed = 350; data.player.maxBlood = 200; data.player.nowBlood = 200; data.player.name = "client " + data.player.roleId; data.position = ProtoTransfer.Get(new Vector3((i + 1) * (i % 2 == 0? -3:3), 1, 10)); data.direction = ProtoTransfer.Get(Vector3.zero); Command cmd = new Command(); cmd.Set(CommandID.CREATE_MONSTER, data); cmd.SetFrame(mCurrentFrame, mFrameTime); DoCommand(cmd); } }