コード例 #1
0
ファイル: Program.cs プロジェクト: tuita520/Frame
        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);
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
ファイル: FrameScene.cs プロジェクト: tuita520/Frame
    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();
        }
    }
コード例 #4
0
ファイル: FrameScene.cs プロジェクト: tuita520/Frame
    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);
        }
    }