public void InitEnterVirtualAttr(MsgData_sSceneObjectEnterVirtualPlayer hes) { int server; mName = PlayerData.GetPlayerName(UiUtil.GetNetString(hes.Name), out server); VIPLevel = 0; mLordId = 0; SetBasicAttrValue((int)BasicAttrEnum.Prof, hes.Job); SetBasicAttrValue((int)BasicAttrEnum.Level, hes.Level); SetBasicAttrValue((int)BasicAttrEnum.Gender, hes.Gender); //SetBasicAttrValue((int)BasicAttrEnum.Speed, CommonTools.ServerValueToClient(hes.Speed)); SetBasicAttrValue((int)BasicAttrEnum.MaxHP, hes.HP); SetBasicAttrValue((int)BasicAttrEnum.CurHP, hes.HP); //SetBasicAttrValue((int)BasicAttrEnum.CurHP, hes.HP); Dress = hes.Dress; EquipStarMin = 0; Weapon = hes.Weapon; FashionDress = hes.FashionDress; FashionWeapon = hes.FashionWeapon; //ShenBing = hes.ShenBin; //FashionState = hes.FashionState; //TeamID = hes.TeamID; GuildID = hes.Guid; //HeroTitle = hes.Title[0]; }
/// <summary> /// 好友添加申请。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnAddApply(MsgData data) { MsgData_sAddFriendApply info = data as MsgData_sAddFriendApply; if (IsFriend(info.RoleID) || IsInBlackList(info.RoleID)) //已经时好友或者被拉黑了则屏蔽 { return; } RoleSimpleInfo roleinfo = GetAddApplyInfo(info.RoleID); if (roleinfo == null) { int server; roleinfo = new RoleSimpleInfo(); roleinfo.ID = info.RoleID; roleinfo.Level = info.Level; roleinfo.Name = PlayerData.GetPlayerName(UiUtil.GetNetString(info.RoleName), out server); roleinfo.Server = server; mAddApplyList.Add(roleinfo); } EventParameter ep = EventParameter.Get(); CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_FRIEND_REMOVE_RELATION, ep); }
/// <summary> /// 收到系统公告。 /// </summary> /// <param name="data">网络消息数据。</param> public void OnSystemNotice(MsgData data) { MsgData_sChatSysNotice info = data as MsgData_sChatSysNotice; string param = UiUtil.GetNetString(info.Param).Trim(); ShowSystemNotice(info.ID, param); }
/// <summary> /// 玩家请求加入。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnJoinRequest(MsgData data) { MsgData_sTeamJoinRequest info = data as MsgData_sTeamJoinRequest; RequestJoinInfo joininfo = GetJoinRequestInfo(info.RoleID); if (joininfo != null) { //已经在请求列表中 return; } string netname = UiUtil.GetNetString(info.RoleName); int server; joininfo = new RequestJoinInfo(); joininfo.RoleID = info.RoleID; joininfo.Name = PlayerData.GetPlayerName(netname, out server); joininfo.Server = server; joininfo.Level = info.Level; joininfo.Power = info.Power; joininfo.Prof = info.Prof; mJoinRequestInfos.Add(joininfo); if (AutoAgree) { SendJoinApproveRequest(info.RoleID, 1); } else { EventParameter ep = EventParameter.Get(); CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_TEAM_JOIN_REQUEST, ep); } }
public override void UpdatePetAttr(MsgData_sSceneObjHoneYanLevel attrs) { Starlevel = attrs.Level; Qua = attrs.Qua; OwnName = UiUtil.GetNetString(attrs.RoleName); if (mHealth != null) { mHealth.OnPetLevelChange(); } }
/// <summary> /// 构造函数。 /// </summary> /// <param name="chat">聊天网络消息。</param> public ChatMessage(MsgData_sChat chat) { int server; mContent = chat; mShowType = mContent.SenderID == PlayerData.Instance.RoleID ? 3 : 2; //byte[] bytes = mContent.Text.ToArray(); mText = UiUtil.GetNetString(mContent.Text); mSenderID = mContent.SenderID; mSenderName = PlayerData.GetPlayerName(UiUtil.GetNetString(mContent.SenderName), out server); mChannel = mContent.Channel; }
/// <summary> /// 好友查找结果。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnFindResult(MsgData data) { MsgData_sFindFriendTarget info = data as MsgData_sFindFriendTarget; int server; mFindRole.ID = info.RoleID; mFindRole.Name = PlayerData.GetPlayerName(UiUtil.GetNetString(info.RoleName), out server); mFindRole.Server = server; mFindRole.Level = info.Level; EventParameter ep = EventParameter.Get(); CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_FRIEND_FIND, ep); }
/// <summary> /// 初始化数据。 /// </summary> /// <param name="data">网络消息数据。</param> public void OnInitData(MsgData data) { MsgData_sMeInfo info = data as MsgData_sMeInfo; MainRole.Instance.serverID = info.RoleID; MainRole.Instance.faction = info.ZhenYing; mBasicAttr.ClearBasicAttr(); mRoleID = info.RoleID; mBasicAttr.Wing = info.Wing; mBasicAttr.ZhenFa = info.ZhenFaID; mBasicAttr.Faction = info.ZhenYing; mBasicAttr.Dress = info.Dress; mBasicAttr.EquipStarMin = info.EquipStarMin; mBasicAttr.Weapon = info.Weapon; mBasicAttr.FashionWing = info.FashionWing; mBasicAttr.FashionDress = info.FashionDress; mBasicAttr.FashionWeapon = info.FashionWeapon; mBasicAttr.FashionState = info.FashionState; mBasicAttr.ShenBing = info.ShenBing; ShenBingId = info.ShenBing; mBasicAttr.Name = GetPlayerName(UiUtil.GetNetString(info.RoleName), out mServerGroup); mBasicAttr.SetBasicAttrValue((int)BasicAttrEnum.Gender, info.Gender); mBasicAttr.SetBasicAttrValue((int)BasicAttrEnum.Prof, info.Job); mBasicAttr.Lord = info.GuanZhi; mIcon = info.Icon; CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_PLAYER_INFO, EventParameter.Get()); CoreEntry.gAutoAIMgr.ReloadConfig(); NetLogicGame.Instance.SendReqDianfengInfo(); NetLogicGame.Instance.SendReqGetMailList(); //若已经创建了玩家对象则更新 if (CoreEntry.gActorMgr.MainPlayer != null) { CoreEntry.gActorMgr.MainPlayer.mBaseAttr.Name = mBasicAttr.Name; CoreEntry.gActorMgr.MainPlayer.mBaseAttr.Lord = mBasicAttr.Lord; CoreEntry.gActorMgr.MainPlayer.Faction = info.ZhenYing; } mTeamData.SendTeamInfoRequest(); //Lua层初始化 LuaTable G = LuaMgr.Instance.GetLuaEnv().Global; LuaTable table = G.Get <LuaTable>("ModelManager"); MemberFunctionCall fun = table.Get <MemberFunctionCall>("InitPlayerData"); if (fun != null) { fun(table); } }
/// <summary> /// 有好友礼包通知。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnHaveReward(MsgData data) { MsgData_sFriendReward info = data as MsgData_sFriendReward; RoleSimpleInfo roleinfo = new RoleSimpleInfo(); int server; roleinfo.ID = info.RoleID; roleinfo.Name = PlayerData.GetPlayerName(UiUtil.GetNetString(info.RoleName), out server); roleinfo.Server = server; roleinfo.Level = info.Level; mHaveReward.Add(roleinfo); EventParameter ep = EventParameter.Get(); CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_FRIEND_HAVE_REWARD, ep); }
/// <summary> /// 副本信息。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnInitData(MsgData data) { MsgData_sZhiYuanFbData info = data as MsgData_sZhiYuanFbData; mIsInit = true; string str = UiUtil.GetNetString(info.EnterNumList); string[] numstr = str.Split(','); mEnterNum.Clear(); mBuyNum.Clear(); for (int i = 0; i < numstr.Length; ++i) { string nstr = numstr[i].Trim(); int num; if (int.TryParse(nstr, out num)) { mEnterNum.Add(num % 16); mBuyNum.Add(num / 16); } } mVeilList.Clear(); mVeilList.AddRange(info.VeilList); mStageInfo.Clear(); for (int i = 0; i < info.StageList.Count; ++i) { MsgData_sStagevo stage = info.StageList[i]; mStageInfo.Add(stage.ID, stage); } //触发事件 EventParameter ep = EventParameter.Get(); CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_RESLEVEL_INIT, ep); //显示UI if (mInitShowUI) { mInitShowUI = false; MainPanelMgr.Instance.ShowPanel("UIResLevel"); } }
/// <summary> /// 成员退出。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnMemberExit(MsgData data) { MsgData_sTeamRoleExit info = data as MsgData_sTeamRoleExit; if (info.RoleID == PlayerData.Instance.RoleID) { //自己离开了队伍,直接整个刷新 mTeamID = 0; TargetID = 0; PowerLimit = 0; GloryLevelLimit = 0; mMembers.Clear(); mJoinRequestInfos.Clear(); m_AutoTeamTimeStamp = Time.realtimeSinceStartup; EventParameter ep = EventParameter.Get(); CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_TEAM_INFO, ep); } else { string rname = string.Empty; for (int i = 0; i < mMembers.Count; ++i) { if (mMembers[i].RoleID == info.RoleID) { rname = UiUtil.GetNetString(mMembers[i].RoleName); mMembers.RemoveAt(i); break; } } EventParameter ep = EventParameter.Get(); ep.longParameter = info.RoleID; ep.stringParameter = rname; CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_TEAM_EXIT, ep); } }
/// <summary> /// 通过角色进场数据初始化属性。 /// </summary> /// <param name="es">进场数据。</param> public void InitOtherPlayerAttr(MsgData_sSceneObjectEnterHuman hes) { int server; mName = PlayerData.GetPlayerName(UiUtil.GetNetString(hes.RoleName), out server); VIPLevel = hes.VipLv; mLordId = hes.GuanZhi; SetBasicAttrValue((int)BasicAttrEnum.Prof, hes.Prof); SetBasicAttrValue((int)BasicAttrEnum.Level, hes.Level); SetBasicAttrValue((int)BasicAttrEnum.Gender, hes.Sex); SetBasicAttrValue((int)BasicAttrEnum.Speed, CommonTools.ServerValueToClient(hes.Speed)); SetBasicAttrValue((int)BasicAttrEnum.MaxHP, hes.MaxHp); SetBasicAttrValue((int)BasicAttrEnum.CurHP, hes.CurHp); Dress = hes.Dress; EquipStarMin = hes.EquipStarMin; Weapon = hes.Weapon; FashionDress = hes.FashionDress; FashionWeapon = hes.FashionWeapon; ShenBing = hes.ShenBin; FashionState = hes.FashionState; TeamID = hes.TeamID; GuildID = hes.GuildID; HeroTitle = hes.Title[0]; }
/// <summary> /// 邀请加入。 /// </summary> /// <param name="data">网络消息数据。</param> private void OnInviteRequest(MsgData data) { MsgData_sTeamInviteRequest info = data as MsgData_sTeamInviteRequest; InviteJoinInfo joininfo = GetInviteJoinInfo(info.TeamID); if (joininfo != null) { //已经在邀请列表中 return; } string netname = UiUtil.GetNetString(info.LeaderName); int server; joininfo = new InviteJoinInfo(); joininfo.TeamID = info.TeamID; joininfo.LeaderName = PlayerData.GetPlayerName(netname, out server); joininfo.Type = info.Type; mInviteJoinInfos.Add(joininfo); EventParameter ep = EventParameter.Get(); CoreEntry.gEventMgr.TriggerEvent(GameEvent.GE_TEAM_INVITE_REQUEST, ep); }
public GameObject LoadPet(MsgData_sSceneObjectEnterPet petStruct) { LuaTable petCfg = ConfigManager.Instance.HeroConfig.GetHeroConfig(petStruct.ConfigID); if (null == petCfg) { return(null); } float s = petCfg.Get <float>("scale"); Vector3 position = CommonTools.ServerPosToClient(petStruct.PosX, petStruct.PosY); Vector3 eulerAngle = CommonTools.ServerDirToClient(petStruct.Dir); Vector3 scale = new Vector3(s, s, s); if (petStruct.Job <= 0) { return(null); } int modelid = petCfg.Get <int>("model" + petStruct.Job); if (petStruct.Level > 0) { LuaTable petShengjieCfg = ConfigManager.Instance.HeroConfig.GetHeroShengjieConfig(petStruct.ConfigID * 100 + petStruct.Level); if (petShengjieCfg != null) { modelid = petShengjieCfg.Get <int>("model" + petStruct.Job); } } GameObject obj = CreateGameObject(modelid, position, eulerAngle, scale); if (obj == null) { return(null); } //obj.transform.localScale = Vector3.one; ActorObj actorObject = null; actorObject = obj.GetComponent <ActorObj>(); if (null != actorObject) { Object.DestroyImmediate(actorObject); } PlayerAgent agent = obj.GetComponent <PlayerAgent>(); if (null != agent) { agent.enabled = false; } PetObj pet = obj.AddComponent <PetObj>(); pet.Starlevel = petStruct.Level; pet.Qua = petStruct.Qua; pet.OwnName = UiUtil.GetNetString(petStruct.RoleName); pet.SetMaster(petStruct.Owner); //Debug.LogError("pet :" + petStruct.Owner + " id:" + petStruct.ConfigID); pet.Init(modelid, petStruct.ConfigID, petStruct.Guid); pet.ServerID = petStruct.Guid; pet.InitSpeed(CommonTools.ServerValueToClient(petStruct.Speed)); CoreEntry.gActorMgr.AddActorObj(pet); //宠物创建时,需要检查主人的显示隐藏属性 if (pet.m_MasterActor && !pet.m_MasterActor.Visiable) { pet.HideSelf(); } //ActorObj owner = CoreEntry.gActorMgr.GetPlayerActorByServerID(petStruct.Owner); //if (null != owner) //{ // if (owner.mActorType == ActorType.AT_LOCAL_PLAYER) // { // pet.ChangeWeapon(PlayerData.Instance.GetWeaponModelID()); // } // else // { // MsgData_sSceneObjectEnterHuman ownerData = CoreEntry.gSceneObjMgr.GetEntityData(petStruct.Owner) as MsgData_sSceneObjectEnterHuman; // if (null != ownerData) // { // pet.ChangeWeapon(GetWeaponModelID(ownerData.FashionState == 0 ? ownerData.FashionWeapon : 0, ownerData.ShenBin, ownerData.Weapon, ownerData.Prof)); // } // } //} return(obj); }