Esempio n. 1
0
    //public void UpdateRole(Role role)
    //{
    //    Dictionary<byte, object> parameters = new Dictionary<byte, object>();
    //    parameters.Add((byte)ParameterCode.Role, JsonMapper.ToJson(role));
    //    PhotonEngine.Instance.SendRequest(OpCode, SubCode.UpdateRole, parameters);
    //}

    public override void OnOperationResponse(ExitGames.Client.Photon.OperationResponse response)
    {
        SubCode subcode = ParameterTool.GetParameter <SubCode>(response.Parameters, ParameterCode.SubCode, false);

        switch (subcode)
        {
        case SubCode.GetRole:
            List <Role> list = ParameterTool.GetParameter <List <Role> >(response.Parameters, ParameterCode.RoleList);
            OnGetRole(list);
            break;

        case SubCode.AddRole:
            Role role = ParameterTool.GetParameter <Role>(response.Parameters, ParameterCode.Role);
            if (response.ReturnCode == (short)ReturnCode.Fail)
            {
                MessageManager._instance.ShowMessage(response.DebugMessage);
                return;
            }
            OnAddRole(role);
            break;

        case SubCode.SelectRole:
            if (OnSelectRole != null)
            {
                OnSelectRole();
            }
            break;
        }
        if (response.ReturnCode == (short)ReturnCode.Fail)
        {
            MessageManager._instance.ShowMessage(response.DebugMessage);
        }
    }
    public override void OnEventData(EventData data)
    {
        SubCode subCode = ParameterTool.GetSubCode(data.Parameters);

        switch (subCode)
        {
        case SubCode.SyncEnemyCreat:
            //Debug.Log("SubCode.CreatEnemy");
            EnemyCreatModel model = ParameterTool.GetParameter <EnemyCreatModel>(data.Parameters, ParameterCode.CreatEnemy);
            OnSyncEnemyCreat(model);
            break;

        case SubCode.SyncPositionAndRotation:
            //Debug.Log("SubCode.SyncPositionAndRotation");
            EnemyPositionModel model2 = ParameterTool.GetParameter <EnemyPositionModel>(data.Parameters, ParameterCode.EnemyPosition);
            OnSyncEnemyPosition(model2);
            break;

        case SubCode.SyncEnemyAnim:
            //Debug.Log("SubCode.SyncPositionAndRotation");
            EnemyAnimModel model3 = ParameterTool.GetParameter <EnemyAnimModel>(data.Parameters, ParameterCode.EnemyAnim);
            OnSyncEnemyAnim(model3);
            break;
        }
    }
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer)
        {
            SubCode subCode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false);
            Dictionary <byte, object> parameters = response.Parameters;

            parameters.Add((byte)ParameterCode.SubCode, subCode);
            switch (subCode)
            {
            case SubCode.GetTaskDBList:
                List <TaskDB> taskDBList = manager.GetTaskDBList(peer.LoginRole);
                foreach (var taskDBTemp in taskDBList)
                {
                    taskDBTemp.Role = null;      //防止json解析错误
                }
                ParameterTool.AddParameter(response.Parameters, ParameterCode.TaskDBList, taskDBList);
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.AddTaskDB:
                TaskDB taskDBAdd = ParameterTool.GetParameter <TaskDB>(request.Parameters, ParameterCode.TaskDB);
                taskDBAdd.Role = peer.LoginRole;
                manager.AddTaskDB(taskDBAdd);
                taskDBAdd.Role = null;
                ParameterTool.AddParameter(response.Parameters, ParameterCode.TaskDB, taskDBAdd);
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.UpdateTaskDB:
                TaskDB taskDBUpdate = ParameterTool.GetParameter <TaskDB>(request.Parameters, ParameterCode.TaskDB);
                taskDBUpdate.Role = peer.LoginRole;
                manager.UpdateTaskDB(taskDBUpdate);
                response.ReturnCode = (short)ReturnCode.Success;
                break;
            }
        }
Esempio n. 4
0
    public override void OnEvent(EventData eventData)
    {
        SubCode subCode = ParameterTool.GetSubcode(eventData.Parameters);

        switch (subCode)
        {
        case SubCode.GetTeam:
            List <Role> roles = ParameterTool.GetParameter <List <Role> >(eventData.Parameters,
                                                                          ParameterCode.RoleList);
            int masterRoleID = ParameterTool.GetParameter <int>(eventData.Parameters, ParameterCode.MasterRoleID,
                                                                false);
            if (OnGetTeam != null)
            {
                OnGetTeam(roles, masterRoleID);
            }
            break;

        case SubCode.SyncPositionAndRotation:
            int     roleID = ParameterTool.GetParameter <int>(eventData.Parameters, ParameterCode.RoleID, false);
            Vector3 pos    =
                ParameterTool.GetParameter <Vector3Obj>(eventData.Parameters, ParameterCode.Position).ToVector3();
            Vector3 eulerAngles = ParameterTool.GetParameter <Vector3Obj>(eventData.Parameters,
                                                                          ParameterCode.EulerAngles).ToVector3();
            if (OnSyncPositionAndRotation != null)
            {
                OnSyncPositionAndRotation(roleID, pos, eulerAngles);
            }
            break;

        case SubCode.SyncMoveAnimation:
            int roleID2 = ParameterTool.GetParameter <int>(eventData.Parameters, ParameterCode.RoleID, false);
            PlayerMoveAnimationModel model =
                ParameterTool.GetParameter <PlayerMoveAnimationModel>(eventData.Parameters,
                                                                      ParameterCode.PlayerMoveAnimationModel);
            if (OnSyncMoveAnimation != null)
            {
                OnSyncMoveAnimation(roleID2, model);
            }
            break;

        case SubCode.SyncAnimation:
            int roleID3 = ParameterTool.GetParameter <int>(eventData.Parameters, ParameterCode.RoleID, false);
            PlayerAnimationModel model2 = ParameterTool.GetParameter <PlayerAnimationModel>(eventData.Parameters,
                                                                                            ParameterCode.PlayerAnimationModel);
            if (OnSyncPlayerAnimation != null)
            {
                OnSyncPlayerAnimation(roleID3, model2);
            }
            break;

        case SubCode.SendGameState:
            GameStateModel model3 = ParameterTool.GetParameter <GameStateModel>(eventData.Parameters,
                                                                                ParameterCode.GameStateModel);
            if (OnGameStateChange != null)
            {
                OnGameStateChange(model3);
            }
            break;
        }
    }
Esempio n. 5
0
    public override void OnOperationResponse(OperationResponse operationResponse)
    {
        //根据子操作代码分别进行不同的处理
        SubCode subCode = ParameterTool.GetParameter <SubCode>(operationResponse.Parameters, ParameterCode.SubCode, false);

        switch (subCode)
        {
        case SubCode.GetRole:
            //Debug.Log("SubCode.GetRole");
            List <Role> list = ParameterTool.GetParameter <List <Role> >(operationResponse.Parameters, ParameterCode.RoleList);
            OnGetRole(list);
            break;

        case SubCode.AddRole:
            //Debug.Log("SubCode.AddRole");
            Role role = ParameterTool.GetParameter <Role>(operationResponse.Parameters, ParameterCode.Role);
            OnAddRole(role);
            break;

        case SubCode.SelectRole:
            //Debug.Log("SubCode.SelectRole");
            OnSelectRole();
            break;
        }
    }
    public override void OnOperationResponse(OperationResponse operationResponse)
    {
        SubCode subCode = ParameterTool.GetSubCode(operationResponse.Parameters);

        switch (subCode)
        {
        case SubCode.TeamFight:
            if (operationResponse.ReturnCode == (short)ReturnCode.HavingTeam)      //组队成功
            {
                //Debug.Log("SubCode.TeamFight");
                List <Role> roleList     = ParameterTool.GetParameter <List <Role> >(operationResponse.Parameters, ParameterCode.RoleList);
                int         masterRoleId = ParameterTool.GetParameter <int>(operationResponse.Parameters, ParameterCode.MasterRoleId, false);
                OnHavingTeam(roleList, masterRoleId);
            }
            else if (operationResponse.ReturnCode == (short)ReturnCode.WaitingTeam)      //组队失败
            {
                //Debug.Log("SubCode.TeamFight");
                OnWaitingTeam();
            }
            break;

        case SubCode.CancelTeam:
            //Debug.Log("SubCode.CancelFight");
            OnCancelTeam();
            break;
        }
    }
Esempio n. 7
0
    public override void OnOperationResponse(OperationResponse response)
    {
        print("到RoleController的43行: " + response.ToString());
        SubCode subCode = ParameterTool.GetParameter <SubCode>(response.Parameters, ParameterCode.SubCode, false);

        switch (subCode)
        {
        case SubCode.GetRole:
            List <Role> list = ParameterTool.GetParameter <List <Role> >(response.Parameters, ParameterCode.RoleList);
            if (OnGetRole != null)
            {
                OnGetRole(list);
            }
            break;

        case SubCode.AddRole:
            Role role = ParameterTool.GetParameter <Role>(response.Parameters, ParameterCode.Role);
            if (OnAddRole != null)
            {
                OnAddRole(role);
            }
            break;

        case SubCode.SelectRole:
            print("到RoleController的66行: " + SubCode.SelectRole);
            if (OnSelectRole != null)
            {
                OnSelectRole();
            }
            break;
        }
    }
    public override void OnOperationResponse(OperationResponse operationResponse)
    {
        SubCode subCode = ParameterTool.GetSubCode(operationResponse.Parameters);

        switch (subCode)
        {
        case SubCode.GetSkillDBList:
            //Debug.Log("OnGetSkillList");
            List <SkillDB> skillList = ParameterTool.GetParameter <List <SkillDB> >(operationResponse.Parameters, ParameterCode.SkillDBList);
            OnGetSkillList(skillList);
            break;

        case SubCode.AddSkillDB:
            //Debug.Log("OnAddSkillDB");
            SkillDB skillAdd = ParameterTool.GetParameter <SkillDB>(operationResponse.Parameters, ParameterCode.SkillDB);
            OnAddSkillDB(skillAdd);
            break;

        case SubCode.UpgradeSkillDB:
            //Debug.Log("OnUpgradeSkillDB");
            SkillDB skillUpgrade = ParameterTool.GetParameter <SkillDB>(operationResponse.Parameters, ParameterCode.SkillDB);
            OnUpgradeSkillDB(skillUpgrade);
            break;
        }
    }
Esempio n. 9
0
        public override void OnHandlerMessage(Photon.SocketServer.OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            SubCode subCode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false);

            response.Parameters.Add((byte)ParameterCode.SubCode, subCode);
            switch (subCode)
            {
            case SubCode.AddTaskDB:
                TaskDB taskDB = ParameterTool.GetParameter <TaskDB>(request.Parameters, ParameterCode.TaskDB);
                taskDB.Role = peer.LoginRole;
                taskDBManager.AddTaskDB(taskDB);
                taskDB.Role = null;
                ParameterTool.AddParameter(response.Parameters, ParameterCode.TaskDB, taskDB);
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.GetTaskDB:
                List <TaskDB> list = taskDBManager.GetTaskDBList(peer.LoginRole);
                foreach (var taskDb in list)
                {
                    taskDb.Role = null;
                }
                ParameterTool.AddParameter(response.Parameters, ParameterCode.TaskDBList, list);
                response.ReturnCode = (short)ReturnCode.Success;

                break;

            case SubCode.UpdateTaskDB:
                TaskDB taskDB2 = ParameterTool.GetParameter <TaskDB>(request.Parameters, ParameterCode.TaskDB);
                taskDB2.Role = peer.LoginRole;
                taskDBManager.UpdateTaskDB(taskDB2);
                response.ReturnCode = (short)ReturnCode.Success;
                break;
            }
        }
Esempio n. 10
0
    public override void OnOperationResponse(OperationResponse response)
    {
        SubCode subCode = ParameterTool.GetParameter <SubCode>(response.Parameters, ParameterCode.SubCode, false);

        switch (subCode)
        {
        case SubCode.GetTaskDB:
            List <TaskDB> list =
                ParameterTool.GetParameter <List <TaskDB> >(response.Parameters, ParameterCode.TaskDBList);
            if (OnGetTaskDBList != null)
            {
                OnGetTaskDBList(list);
            }
            break;
            ;

        case SubCode.AddTaskDB:
            TaskDB taskDb = ParameterTool.GetParameter <TaskDB>(response.Parameters, ParameterCode.TaskDB);
            if (OnAddTaskDB != null)
            {
                OnAddTaskDB(taskDb);
            }
            break;
            ;

        case SubCode.UpdateTaskDB:
            if (OnUpdateTaskDB != null)
            {
                OnUpdateTaskDB();
            }
            break;
        }
    }
Esempio n. 11
0
    public override void OnOperationResponse(OperationResponse response)
    {
        SubCode subcode = ParameterTool.GetSubcode(response.Parameters);

        switch (subcode)
        {
        case SubCode.SendTeam:
            if (response.ReturnCode == (int)ReturnCode.GetTeam)
            {
                List <Role> roles = ParameterTool.GetParameter <List <Role> >(response.Parameters,
                                                                              ParameterCode.RoleList);
                int masterRoleID = ParameterTool.GetParameter <int>(response.Parameters, ParameterCode.MasterRoleID,
                                                                    false);
                if (OnGetTeam != null)
                {
                    OnGetTeam(roles, masterRoleID);
                }
            }
            else if (response.ReturnCode == (int)ReturnCode.WartingTeam)
            {
                if (OnWaitingTeam != null)
                {
                    OnWaitingTeam();
                }
            }
            break;

        case SubCode.CancelTeam:
            if (OnCancelTeam != null)
            {
                OnCancelTeam();
            }
            break;
        }
    }
Esempio n. 12
0
    public override void OnEvent(EventData eventData)
    {
        SubCode subcode = ParameterTool.GetSubcode(eventData.Parameters);

        switch (subcode)
        {
        case SubCode.CreateEnemy:
            CreateEnemyModel model = ParameterTool.GetParameter <CreateEnemyModel>(eventData.Parameters,
                                                                                   ParameterCode.CreateEnemyModel);
            if (OnCreateEnemy != null)
            {
                OnCreateEnemy(model);
            }
            break;

        case SubCode.SyncPositionAndRotation:
            EnemyPositionModel model1 = ParameterTool.GetParameter <EnemyPositionModel>(eventData.Parameters,
                                                                                        ParameterCode.EnemyPositionModel);
            if (OnSyncEnemyPositionAndRotation != null)
            {
                OnSyncEnemyPositionAndRotation(model1);
            }
            break;

        case SubCode.SyncAnimation:
            EnemyAnimationModel model2 = ParameterTool.GetParameter <EnemyAnimationModel>(eventData.Parameters,
                                                                                          ParameterCode.EnemyAnimationModel);
            if (OnSyncEnemyAnimation != null)
            {
                OnSyncEnemyAnimation(model2);
            }
            break;
        }
    }
Esempio n. 13
0
 private void Getroomlist(OperationResponse _response)
 {
     roomdatas =
         ParameterTool.GetParameter <List <Roomdata> >(_response.Parameters, Parametercode.ROOMPARMETERS);
     if (roomdatas == null || roomdatas.Count <= 0)
     {
         return;
     }
     Debug.Log(roomdatas.Count.ToString());
 }
Esempio n. 14
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            SubCode subCode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false);

            ParameterTool.AddParmeter(response.Parameters, ParameterCode.SubCode, subCode, false);
            switch (subCode)
            {
            case SubCode.GetInventoryItemDB:
                List <InventoryItemDB> list = inventoryItemDbManager.GetInventoryItemDB(peer.LoginRole);
                foreach (var item in list)
                {
                    item.Role = null;
                }
                ParameterTool.AddParmeter(response.Parameters, ParameterCode.InventoryItemDBList, list);
                break;

            case SubCode.AddInventoryItemDB:
                InventoryItemDB itemDb =
                    ParameterTool.GetParameter <InventoryItemDB>(request.Parameters, ParameterCode.InventoryItemDB);
                itemDb.Role = peer.LoginRole;
                inventoryItemDbManager.AddInventoryItemDB(itemDb);
                itemDb.Role = null;
                ParameterTool.AddParmeter(response.Parameters, ParameterCode.InventoryItemDB, itemDb);
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.UpdateInventoryItemDB:
                InventoryItemDB itemDb2 =
                    ParameterTool.GetParameter <InventoryItemDB>(request.Parameters, ParameterCode.InventoryItemDB);
                itemDb2.Role = peer.LoginRole;
                inventoryItemDbManager.UpdateInventoryItemDB(itemDb2);
                break;

            case SubCode.UpdateInventoryItemDBList:
                List <InventoryItemDB> list2 =
                    ParameterTool.GetParameter <List <InventoryItemDB> >(request.Parameters,
                                                                         ParameterCode.InventoryItemDBList);
                foreach (var itemDB3 in list2)
                {
                    itemDB3.Role = peer.LoginRole;
                }
                inventoryItemDbManager.UpdateInventoryItemDBList(list2);
                break;

            case SubCode.UpgradeEquip:
                InventoryItemDB itemDb4 =
                    ParameterTool.GetParameter <InventoryItemDB>(request.Parameters, ParameterCode.InventoryItemDB);
                Role role = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role);
                peer.LoginRole = role;
                role.User      = peer.LoginUser;
                itemDb4.Role   = role;
                inventoryItemDbManager.UpgradeEquip(itemDb4, role);
                break;
            }
        }
Esempio n. 15
0
        public override void OnHandleMessage(OperationRequest request, OperationResponse response, MasterClientPeer peer, SendParameters sendParameters)
        {
            var user   = ParameterTool.GetParameter <User>(request.Parameters, ParameterCode.User);
            var userDB = manager.GetUserByAccesstoken(user.Accesstoken);

            SubCode subCode = ParameterTool.GetSubcode(request.Parameters);

            ParameterTool.AddSubcode(response.Parameters, subCode);
            switch (subCode)
            {
            case SubCode.AccLogin:
            {
                if (userDB != null && userDB.Password == MD5Tool.GetMD5(user.Password))
                {
                    ParameterTool.AddParameter <User>(response.Parameters, ParameterCode.User, userDB);
                    //用户名和密码正确,登陆成功
                    response.ReturnCode = (short)ReturnCode.Success;
                    peer.User           = userDB;


                    //if (MasterApplication.Instance.TeamCtrl.ContansUser(userDB.ID))//如果之前正在游戏中
                    //{
                    //    peer.Team = MasterApplication.Instance.TeamCtrl.GetTeamByUser(userDB.ID);
                    //}
                }
                else
                {
                    response.ReturnCode   = (short)ReturnCode.Fail;
                    response.DebugMessage = "用户名或密码错误";
                }
                //string username = ParameterTool.GetParameter<string>(request.Parameters, ParameterCode.Username, false);
                // password = ParameterTool.GetParameter<string>(request.Parameters, ParameterCode.Password, false);
                Log("Login:acesstoken=" + user.Accesstoken + ",password="******"用户已存在";
                }
                //string username = ParameterTool.GetParameter<string>(request.Parameters, ParameterCode.Username, false);
                //string password = ParameterTool.GetParameter<string>(request.Parameters, ParameterCode.Password, false);
                Log("Register:acesstoken=" + user.Accesstoken + ",password=" + user.Password);
            } break;
            }
        }
Esempio n. 16
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            //先得到子操作代码,根据子操作代码,分别进行不同的处理
            SubCode subCode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false);

            Dictionary <byte, object> parameters = response.Parameters;

            parameters.Add((byte)ParameterCode.SubCode, subCode);
            response.OperationCode = request.OperationCode;
            switch (subCode)
            {
            case SubCode.GetRole:
                List <Role> rolelList = roleManager.GetRoleListByUser(peer.LoginUser);
                foreach (var role1 in rolelList)
                {
                    role1.User = null;
                }
                ParameterTool.AddParmeter(parameters, ParameterCode.RoleList, rolelList);
                break;

            case SubCode.AddRole:
                Role role = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role);    //request ?? response 互换实验看看 ??request正确
                role.User = peer.LoginUser;
                roleManager.AddRole(role);
                role.User = null;
                ParameterTool.AddParmeter(response.Parameters, ParameterCode.Role, role);
                break;

            case SubCode.SelectRole:
                peer.LoginRole = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role);
                break;

            case SubCode.UpdateRole:
                Role role2 = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role);
                role2.User = peer.LoginUser;
                roleManager.UpdateRole(role2);
                role2.User          = null;
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.GetTumoRole:
                User user = ParameterTool.GetParameter <User>(request.Parameters, ParameterCode.User);
                log.Debug("Role63" + user.Username);
                User        user1         = userManager.GetUserByUsernmae(user.Username);
                List <Role> tumoRolelList = roleManager.GetRoleListByUser(user1);
                foreach (var role1 in tumoRolelList)
                {
                    role1.User = null;
                }
                ParameterTool.AddParmeter(parameters, ParameterCode.TumoRoleList, tumoRolelList);
                log.Debug("Role70" + tumoRolelList[0].Name);
                break;
            }
        }
Esempio n. 17
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            SubCode subcode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false);

            ParameterTool.AddParameter(response.Parameters, ParameterCode.SubCode, subcode, false);
            switch (subcode)
            {
            case SubCode.GetInventoryDB:
                Role role = peer.LoginRole;
                List <InventoryDB> list = inventoryManager.GetInventoryDB(role);
                foreach (var inventorydb in list)
                {
                    inventorydb.Role = null;
                }
                ParameterTool.AddParameter(response.Parameters, ParameterCode.InventoryDBList, list);
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.AddInventoryDB:
                TaidouServer.log.Debug("在此将物品添加到数据库中");
                InventoryDB itemDb = ParameterTool.GetParameter <InventoryDB>(request.Parameters, ParameterCode.InventoryDB);
                itemDb.Role = peer.LoginRole;
                TaidouServer.log.Debug(itemDb.Level);
                inventoryManager.AddInventoryDB(itemDb);
                itemDb.Role = null;
                ParameterTool.AddParameter(response.Parameters, ParameterCode.InventoryDB, itemDb);
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.UpdateInventoryDB:
                InventoryDB itemdb1 = ParameterTool.GetParameter <InventoryDB>(request.Parameters, ParameterCode.InventoryDB);
                itemdb1.Role = peer.LoginRole;
                inventoryManager.UpdateInventoryDB(itemdb1);
                break;

            case SubCode.ChangeInventoryDBList:
                List <InventoryDB> itemList = ParameterTool.GetParameter <List <InventoryDB> >(request.Parameters, ParameterCode.InventoryDBList);
                foreach (var temp in itemList)
                {
                    temp.Role = peer.LoginRole;
                }
                inventoryManager.ChangeInventoryDBList(itemList);
                break;

            case SubCode.UpgradeEquip:
                InventoryDB itemdb2 = ParameterTool.GetParameter <InventoryDB>(request.Parameters, ParameterCode.InventoryDB);
                Role        role2   = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role);
                peer.LoginRole = role2;
                role2.User     = peer.LoginUser;
                itemdb2.Role   = role2;
                inventoryManager.UpgradeEquip(itemdb2, role2);
                break;
            }
        }
    public override void OnEventData(EventData data)
    {
        SubCode subCode = ParameterTool.GetSubCode(data.Parameters);

        switch (subCode)
        {
        case SubCode.SyncBossAnim:
            //Debug.Log("SubCode.SyncBossAnim");
            BossAnimModel model = ParameterTool.GetParameter <BossAnimModel>(data.Parameters, ParameterCode.BossAnim);
            OnSyncBossAnim(model);
            break;
        }
    }
Esempio n. 19
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            //得到当前操作的子代码,根据不同的操作,进行不同的查询
            SubCode subCode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false);

            Dictionary <byte, object> parameters = response.Parameters;

            parameters.Add((byte)ParameterCode.SubCode, subCode);

            response.OperationCode = request.OperationCode;
            response.Parameters    = parameters;

            switch (subCode)
            {
            case SubCode.AddRole:
                Role role = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role);
                role.User = peer.LoginUser;
                manager.AddRole(role);
                role.User = null;
                ParameterTool.AddParameter(parameters, ParameterCode.Role, role);
                break;

            case SubCode.GetRole:
                List <Role> rolelist = manager.GetRoleListByUser(peer.LoginUser);
                foreach (var role1 in rolelist)
                {
                    role1.User = null;
                }
                ParameterTool.AddParameter(parameters, ParameterCode.RoleList, rolelist);

                break;

            case SubCode.SelectRole:
                //将客户端选择的角色发送给服务器
                peer.LoginRole = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role);
                TaidouServer.log.Debug(peer.LoginRole.Name + "----" + peer.LoginRole.ID);
                break;

            case SubCode.UpdateRole:
                Role role2 = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role);
                role2.User = peer.LoginUser;
                manager.UpdateRole(role2);
                role2.User = null;

                response.ReturnCode = (short)ReturnCode.Success;
                break;
            }
        }
Esempio n. 20
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer)
        {
            SubCode subCode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false);
            Dictionary <byte, object> parameters = response.Parameters;

            parameters.Add((byte)ParameterCode.SubCode, subCode);
            switch (subCode)
            {
            case SubCode.GetInventoryDBList:
                List <InventoryDB> listGet = manager.GetInventoryList(peer.LoginRole);
                foreach (var temp in listGet)
                {
                    temp.Role = null;      //防止json解析错误
                }
                ParameterTool.AddParameter(response.Parameters, ParameterCode.InventoryDBList, listGet);
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.AddInventoryDB:
                InventoryDB inventoryDBAdd = ParameterTool.GetParameter <InventoryDB>(request.Parameters, ParameterCode.InventoryDB);
                inventoryDBAdd.Role = peer.LoginRole;
                manager.AddInventoryDB(inventoryDBAdd);
                inventoryDBAdd.Role = null;
                ParameterTool.AddParameter(response.Parameters, ParameterCode.InventoryDB, inventoryDBAdd);
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.ChangeEquipment:
                List <InventoryDB> listChange = ParameterTool.GetParameter <List <InventoryDB> >(request.Parameters, ParameterCode.InventoryDBList);
                foreach (var temp in listChange)
                {
                    temp.Role = peer.LoginRole;
                }
                manager.ChangeEquipment(listChange);
                response.ReturnCode = (short)ReturnCode.Success;
                break;

            case SubCode.UpgradeEquipment:
                InventoryDB inventoryDBUpgrade = ParameterTool.GetParameter <InventoryDB>(request.Parameters, ParameterCode.InventoryDB);
                Role        role = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role);
                role.User               = peer.LoginUser;
                peer.LoginRole          = role;
                inventoryDBUpgrade.Role = role;
                manager.UpgradeEquipment(inventoryDBUpgrade, role);
                response.ReturnCode = (short)ReturnCode.Success;
                break;
            }
        }
Esempio n. 21
0
    public void OnEvent(EventData eventData)
    {
        ControllerBase controller;
        OperationCode  opCode =
            ParameterTool.GetParameter <OperationCode>(eventData.Parameters, ParameterCode.OperationCode, false);

        controllers.TryGetValue((byte)opCode, out controller);
        if (controller != null)
        {
            controller.OnEvent(eventData);
        }
        else
        {
            Debug.LogWarning("Receive a unknown event. OperationCode: " + opCode);
        }
    }
Esempio n. 22
0
    public override void OnEvent(EventData eventData)
    {
        SubCode subcode = ParameterTool.GetSubcode(eventData.Parameters);

        switch (subcode)
        {
        case SubCode.SyncBossAnimation:
            BossAnimationModel model = ParameterTool.GetParameter <BossAnimationModel>(eventData.Parameters,
                                                                                       ParameterCode.BossAnimationModel);
            if (OnSyncBossAnimation != null)
            {
                OnSyncBossAnimation(model);
            }
            break;
        }
    }
Esempio n. 23
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            User user   = ParameterTool.GetParameter <User>(request.Parameters, ParameterCode.User);
            User userDB = manager.GetUserByUsername(user.Username);

            if (userDB != null)
            {
                response.ReturnCode   = (short)ReturnCode.Fail;
                response.DebugMessage = "用户名重复";
            }
            else
            {
                user.Password = MD5Tool.GetMD5(user.Password);
                manager.AddUser(user);
                response.ReturnCode = (short)ReturnCode.Success;
            }
        }
Esempio n. 24
0
    public override void OnOperationResponse(OperationResponse response)
    {
        SubCode subcode = ParameterTool.GetParameter <SubCode>(response.Parameters, ParameterCode.SubCode, false);

        switch (subcode)
        {
        case SubCode.GetInventoryItemDB:
            List <InventoryItemDB> list = ParameterTool.GetParameter <List <InventoryItemDB> >(response.Parameters, ParameterCode.InventoryItemDBList);
            if (OnGetInventoryItemDBList != null)
            {
                OnGetInventoryItemDBList(list);
            }
            break;

        case SubCode.AddInventoryItemDB:
            if (OnAddInventoryItemDB != null)
            {
                InventoryItemDB itemDB = ParameterTool.GetParameter <InventoryItemDB>(response.Parameters,
                                                                                      ParameterCode.InventoryItemDB);
                OnAddInventoryItemDB(itemDB);
            }
            break;

        case SubCode.UpdateInventoryItemDB:
            if (OnUpdateInventoryItemDB != null)
            {
                OnUpdateInventoryItemDB();
            }
            break;

        case SubCode.UpdateInventoryItemDBList:
            if (OnUpdateInventoryItemDBList != null)
            {
                OnUpdateInventoryItemDBList();
            }
            break;

        case SubCode.UpgradeEquip:
            if (OnUpgradeEquip != null)
            {
                OnUpgradeEquip();
            }
            break;
        }
    }
Esempio n. 25
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer)
        {
            User userClient = ParameterTool.GetParameter <User>(request.Parameters, ParameterCode.Register);
            User userServer = manager.GetUserByUsername(userClient.Username);

            if (userServer != null)  //用户名重复
            {
                response.ReturnCode   = (short)ReturnCode.Failure;
                response.DebugMessage = "用户名重复";
            }
            else  //存入数据库
            {
                userClient.Password = Md5Tool.GetMd5(userClient.Password);  //md5加密
                manager.AddUser(userClient);
                peer.LoginUser      = userClient;
                response.ReturnCode = (short)ReturnCode.Success;
            }
        }
Esempio n. 26
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer)
        {
            User userClient = ParameterTool.GetParameter <User>(request.Parameters, ParameterCode.Login);
            User userServer = manager.GetUserByUsername(userClient.Username);

            if (userServer != null && Md5Tool.GetMd5(userClient.Password) == userServer.Password)  //登录成功
            {
                //数据库存在用户
                //md5加密过后的客户端密码与数据库的密码比较
                response.ReturnCode = (short)ReturnCode.Success;
                peer.LoginUser      = userServer; //保存当前用户
            }
            else  //登录失败
            {
                response.ReturnCode   = (short)ReturnCode.Failure;
                response.DebugMessage = "用户名或者密码错误";
            }
        }
Esempio n. 27
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ARPeer peer, SendParameters sendParameters)
        {
            SubCode subcode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false);

            switch (subcode)
            {
            case SubCode.AddRole:
            {
                int heroIndex = ParameterTool.GetParameter <int>(request.Parameters, ParameterCode.RoleID, false);
                Dictionary <byte, object> responseParameter = new Dictionary <byte, object>();
                responseParameter.Add((byte)ParameterCode.RoleID, heroIndex);
                //response.Parameters = responseParameter;
                for (int i = 0; i < ARApplication.AR_Instance.peerListForTeam.Count; i++)
                {
                    if (peer != ARApplication.AR_Instance.peerListForTeam[i])
                    {
                        EventData data = new EventData();
                        data.Parameters = responseParameter;
                        ARApplication.AR_Instance.peerListForTeam[i].SendEvent(data, sendParameters);
                    }
                }
            } break;

            case SubCode.SendTeam:
            {
                if (ARApplication.AR_Instance.peerListForTeam.Count == 2)
                {
                    ARPeer peer1 = ARApplication.AR_Instance.peerListForTeam[0];
                    Team   t     = new Team(peer1, peer);
                    Dictionary <byte, object> parameterDic = new Dictionary <byte, object>();
                    parameterDic.Add((byte)ParameterCode.SubCode, SubCode.GetTeam);
                    response.Parameters = parameterDic;
                }
                else
                {
                    ARApplication.AR_Instance.peerListForTeam.Add(peer);
                    Dictionary <byte, object> parameterDic = new Dictionary <byte, object>();
                    parameterDic.Add((byte)ParameterCode.SubCode, SubCode.WaitTeam);
                    response.Parameters = parameterDic;
                }
            }
            break;
            }
        }
    public override void OnOperationResponse(OperationResponse operationResponse)
    {
        SubCode subCode = ParameterTool.GetParameter <SubCode>(operationResponse.Parameters, ParameterCode.SubCode, false);

        switch (subCode)
        {
        case SubCode.GetInventoryDBList:
            //Debug.Log("SubCode.GetInventoryDBList");
            List <InventoryDB> list = ParameterTool.GetParameter <List <InventoryDB> >(operationResponse.Parameters, ParameterCode.InventoryDBList);
            OnGetInventoryDBList(list);
            break;

        case SubCode.AddInventoryDB:
            //Debug.Log("SubCode.AddInventoryDB");
            if (operationResponse.ReturnCode == (short)ReturnCode.Success)
            {
                InventoryDB inventoryDB = ParameterTool.GetParameter <InventoryDB>(operationResponse.Parameters, ParameterCode.InventoryDB);
                OnAddInventoryDB(inventoryDB);
            }
            break;

        case SubCode.ChangeEquipment:
            //Debug.Log("SubCode.ChangeEquipmen");
            if (operationResponse.ReturnCode == (short)ReturnCode.Success)
            {
                if (OnChangeEquipment != null)
                {
                    OnChangeEquipment();
                }
            }
            break;

        case SubCode.UpgradeEquipment:
            //Debug.Log("SubCode.UpgradeEquipment");
            if (operationResponse.ReturnCode == (short)ReturnCode.Success)
            {
                if (OnUpgradeEquipment != null)
                {
                    OnUpgradeEquipment();
                }
            }
            break;
        }
    }
Esempio n. 29
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse respons, ARPeer peer, SendParameters sendParameters)
        {
            string       userName = ParameterTool.GetParameter <string>(request.Parameters, ParameterCode.UserName, false);
            string       pwd      = ParameterTool.GetParameter <string>(request.Parameters, ParameterCode.Pwd, false);
            IList <User> userList = userManager.GetUserName(userName);

            if (userList.Count == 0 || userList == null)
            {
                Dictionary <byte, object> parameter = new Dictionary <byte, object>();
                parameter.Add((byte)ReturnCode.Sucess, "登录失败,用户名或密码错误!");
                respons.Parameters = parameter;
            }
            if (userList.Count > 0)
            {
                Dictionary <byte, object> parameter = new Dictionary <byte, object>();
                parameter.Add((byte)ReturnCode.Sucess, "登录成功!");
                respons.Parameters = parameter;
            }
        }
    public override void OnEventData(EventData data)
    {
        SubCode subCode = ParameterTool.GetSubCode(data.Parameters);

        switch (subCode)
        {
        case SubCode.ConfirmTeam:
            //Debug.Log("SubCode.ConfimTeam");
            List <Role> roleList     = ParameterTool.GetParameter <List <Role> >(data.Parameters, ParameterCode.RoleList);
            int         masterRoleId = ParameterTool.GetParameter <int>(data.Parameters, ParameterCode.MasterRoleId, false);
            OnHavingTeam(roleList, masterRoleId);
            break;

        case SubCode.SyncPositionAndRotation:
            //Debug.Log("SubCode.SyncPlayer");
            int     roleId      = ParameterTool.GetParameter <int>(data.Parameters, ParameterCode.RoleId, false);
            Vector3 position    = ParameterTool.GetParameter <Vector3Object>(data.Parameters, ParameterCode.Position).ToVector3();
            Vector3 eulerAngles = ParameterTool.GetParameter <Vector3Object>(data.Parameters, ParameterCode.EulerAngles).ToVector3();
            OnSyncPositionAndRotation(roleId, position, eulerAngles);
            break;

        case SubCode.SyncMoveAnimation:
            //Debug.Log("SubCode.SyncMoveAnimation");
            int roleId2 = ParameterTool.GetParameter <int>(data.Parameters, ParameterCode.RoleId, false);
            PlayerMoveAnimationModel model2 = ParameterTool.GetParameter <PlayerMoveAnimationModel>(data.Parameters, ParameterCode.MoveAnimation);
            OnSyncMoveAnimation(roleId2, model2);
            break;

        case SubCode.SyncAnimation:
            //Debug.Log("SubCode.SyncAnimation");
            int roleId3 = ParameterTool.GetParameter <int>(data.Parameters, ParameterCode.RoleId, false);
            PlayerAnimationModel model3 = ParameterTool.GetParameter <PlayerAnimationModel>(data.Parameters, ParameterCode.PlayerAnim);
            OnSyncPlayerAnimation(roleId3, model3);
            break;

        case SubCode.SyncGameState:
            //Debug.Log("SubCode.SyncGameState");
            GameStateModel model4 = ParameterTool.GetParameter <GameStateModel>(data.Parameters, ParameterCode.GameState);
            OnSyncGameState(model4);
            break;
        }
    }