/// <summary> /// 队伍成员信息改变 /// </summary> protected void S2C_TeamMemberUpdate(Pt _info) { //Debug.Log("S2C_TeamMemberUpdate"); pt_team_member_chg_d023 msg = _info as pt_team_member_chg_d023; if (msg != null) { for (int i = 0; i < msg.team_member_list.Count; i++) { int id = (int)msg.team_member_list[i].uid; if (teammatesDic.ContainsKey(id)) { TeamMenberInfo info = teammatesDic[id] as TeamMenberInfo; if (info != null) { info.SetBaseInfo(msg.team_member_list[i]); } } else { TeamMenberInfo info = new TeamMenberInfo(msg.team_member_list[i]); // if((int)info.baseInfo.uid == GameCenter.mainPlayerMng.MainPlayerInfo.ServerInstanceID) // continue;//排除自己 teammatesDic[(int)info.baseInfo.uid] = info; UpdateTeammateColor((int)info.baseInfo.uid, true);//修改颜色 if (onTeammateUpdateEvent != null) { onTeammateUpdateEvent(); } } } } }
protected int SortMountInfo(MountRef reward1, MountRef reward2) { int state1 = 0; int state2 = 0; //已经拥有 if (mountSkinList.ContainsKey(reward1.mountId)) { state1 = 1; } //已经拥有 if (mountSkinList.ContainsKey(reward2.mountId)) { state2 = 1; } if (state1 < state2) { return(1); } if (state1 > state2) { return(-1); } if (reward1.level > reward2.level)//状态相同按ID排序 { return(1); } if (reward1.level < reward2.level) { return(-1); } return(0); }
public void Update(BuffInfo _buff, int _buffID, int _id) { if (!isAlive) { return; //如果怪物已经死亡,拒绝后台的状态通知 } if (_buff == null) //删buff { if (_id == serverData.serverInstanceID && buffList.ContainsKey(_buffID)) { if (OnBuffUpdate != null) { OnBuffUpdate(_buffID, false); } buffList.Remove(_buffID); } } else//加buff { if (buffList.ContainsKey(_buff.BuffTypeID)) { if (OnBuffUpdate != null) { OnBuffUpdate(_buff.BuffTypeID, false); buffList.Remove(_buff.BuffTypeID); } } buffList[_buff.BuffTypeID] = _buff; if (OnBuffUpdate != null) { OnBuffUpdate(_buff.BuffTypeID, true); } } }
/// <summary> /// 第一次开窗时调用 by吴江 应该每次开窗都要调用呀 /// </summary> protected virtual void Init() { if (subWndDictionary.ContainsKey(initSubGUIType)) { curSubGUIType = SwitchToSubWnd(initSubGUIType); } }
void ShowMountInfo() { //显示幻兽信息 if (MountRefDate != null) { int id = MountRefDate.mountId; FDictionary mountSkinInfoDic = GameCenter.newMountMng.mountSkinList; nameLab.text = MountRefDate.mountName; if (item != null) { item.FillInfo(new EquipmentInfo(MountRefDate.itemID, EquipmentBelongTo.PREVIEW)); item.itemName.gameObject.SetActive(false); if (item.itemIcon.GetComponent <UISpriteEx>() != null) { item.itemIcon.GetComponent <UISpriteEx>().IsGray = UISpriteEx.ColorGray.normal; } if (!mountSkinInfoDic.ContainsKey(id)) { if (item.itemIcon.GetComponent <UISpriteEx>() != null) { item.itemIcon.GetComponent <UISpriteEx>().IsGray = UISpriteEx.ColorGray.Gray; } } else { //MountInfo skin = mountSkinInfoDic[id] as MountInfo; } } if (mountSkinInfoDic.ContainsKey(id))//该皮肤玩家已经拥有 { MountInfo info = mountSkinInfoDic[id] as MountInfo; if (info.SkinRemainTime != 0)//限时 { timer.StartIntervalTimer(info.SkinRemainTime); timer.onTimeOut = (x) => { timeLab.text = ConfigMng.Instance.GetUItext(84); }; } else//这个幻兽是永久拥有的 { timeLab.gameObject.SetActive(false); } return; } timeLab.text = ConfigMng.Instance.GetUItext(84); } }
void CreateAnimal() { int id = GameCenter.mercenaryMng.curPetId; int index = 0; foreach (MercenaryInfo item in mercenaryInfoList.Values) { if (!singleSpritAnimalList.ContainsKey(item.ConfigId)) { singleSpritAnimalList[item.ConfigId] = SingleSpritAnimal.CeateNew(animaListParent, index); } SingleSpritAnimal animal = singleSpritAnimalList[item.ConfigId] as SingleSpritAnimal; animal.gameObject.SetActive(true); animal.transform.localPosition = new Vector3(0, -index * 110, 0); animal.SetInfo(item); UIEventListener.Get(animal.gameObject).onClick -= OnClickSingleAnimal; UIEventListener.Get(animal.gameObject).onClick += OnClickSingleAnimal; index++; } if (id != MercenaryMng.noPet) { SingleSpritAnimal animal = singleSpritAnimalList[id] as SingleSpritAnimal; if (animal != null) { UIToggle tog = animal.GetComponent<UIToggle>(); if (tog != null) tog.value = true; } } }
/// <summary> /// 刷新总生命值 /// </summary> void RefreshTotalLife() { for (int i = 0; i < togList.Count; i++) { AchievementTogUI togUI = togList[i].GetComponent <AchievementTogUI>(); if (togUI != null && achieveTypeDic.ContainsKey(i + 1)) { togUI.SetTogData(achieveTypeDic[i + 1] as AchieveTypeRef, i); } } int totalNum = 0; foreach (int data in AchieveNumDic.Values) { totalNum += data; } if (currNum != null) { currNum.text = (totalNum * 1000).ToString(); } if (progressSlider != null) { progressSlider.value = (float)(totalNum * 1000) / 75000; } }
protected void OnDeleteObj(ObjectType _type, int _instanceID) { switch (_type) { case ObjectType.Player: break; case ObjectType.MOB: if (mobPointDic.ContainsKey(_instanceID)) { Destroy(mobPointDic[_instanceID] as GameObject); mobPointDic.Remove(_instanceID); } break; case ObjectType.NPC: if (npcPointDic.ContainsKey(_instanceID)) { Destroy(npcPointDic[_instanceID] as GameObject); npcPointDic.Remove(_instanceID); } break; case ObjectType.FlyPoint: break; default: break; } }
void CreateBook(int _index, NewPetSkillRef _skillRef) { if (_skillRef != null) { int id = _skillRef.id; if (!allSkill.ContainsKey(id)) { SingleSkill item = SingleSkill.CeateNew(_index, id, parent); item.SkillRef = _skillRef; item.gameObject.SetActive(true); allSkill[id] = item; UIEventListener.Get(item.gameObject).onClick -= OnClickDesBtn; UIEventListener.Get(item.gameObject).onClick += OnClickDesBtn; UIEventListener.Get(item.gameObject).parameter = id; } else { SingleSkill skill = allSkill[id] as SingleSkill; skill.SkillRef = _skillRef; skill.gameObject.SetActive(true); UIEventListener.Get(skill.gameObject).onClick -= OnClickDesBtn; UIEventListener.Get(skill.gameObject).onClick += OnClickDesBtn; UIEventListener.Get(skill.gameObject).parameter = id; } } }
protected FDictionary GetFriendTypeDic() { FDictionary dic = new FDictionary(); switch (friendType) { case 0: if (GameCenter.friendsMng.allFriendDic.ContainsKey(1)) { dic = GameCenter.friendsMng.allFriendDic[1]; } break; case 1: if (GameCenter.swornMng.data != null) { List <st.net.NetBase.brothers_list> list = GameCenter.swornMng.data.brothers; for (int i = 0, max = list.Count; i < max; i++) { FriendsInfo info = new FriendsInfo(list[i]); if (!dic.ContainsKey(info.configId) && info.configId != GameCenter.mainPlayerMng.MainPlayerInfo.ServerInstanceID) { dic[info.configId] = info; } } } break; case 2: if (GameCenter.coupleMng.coupleData != null) { FriendsInfo info = new FriendsInfo(GameCenter.coupleMng.coupleData); dic[info.configId] = info; } break; case 3: if (GameCenter.friendsMng.allFriendDic.ContainsKey(4)) { dic = GameCenter.friendsMng.allFriendDic[4]; } break; case 4: if (GameCenter.friendsMng.allFriendDic.ContainsKey(3)) { dic = GameCenter.friendsMng.allFriendDic[3]; } break; default: if (GameCenter.friendsMng.allFriendDic.ContainsKey(1)) { dic = GameCenter.friendsMng.allFriendDic[1]; } break; } return(dic); }
public RelationCompareRef GetCompareRelation(SceneType _sceneType, int _camp1, int _camp2) { RelationKey key = new RelationKey(_sceneType, _camp1, _camp2); if (compareDic.ContainsKey(key)) { return(compareDic[key] as RelationCompareRef); } return(null); }
/// <summary> /// 返回翅膀列表 /// </summary> /// <param name="_msg"></param> protected void S2C_GetWingData(Pt _msg) { pt_wing_list_info_d417 msg = _msg as pt_wing_list_info_d417; if (msg != null) { for (int i = 0; i < msg.wing_list.Count; i++) { wing_base_info data = msg.wing_list[i]; if (wingDic.ContainsKey((int)data.wing_id)) { WingInfo info = wingDic[(int)data.wing_id] as WingInfo; if (info != null) { info.Update(data); } } else { WingInfo info = new WingInfo(data); if (info.WingType != 2) { wingDic[info.WingId] = info; } if (info.WingState) { if (OnShowWingModel != null) { OnShowWingModel(info); } CurUseWingInfo = info; } } } SetWingRedPoint(); } //抛出升级后变化事件 if (OnWingAdd != null) { OnWingAdd(null); } }
protected void OnAddNpcs() { List <NPC> npcs = GameCenter.curGameStage.GetNPCs(); for (int i = 0; i < npcs.Count; i++) { NPC instance = npcs[i]; if (npcPointDic.ContainsKey(instance.id) || instance.isDead) { continue; } GameObject myPoint = Instantiate(npcPointInstance) as GameObject; myPoint.transform.parent = mapCtrl; myPoint.transform.localScale = Vector3.one; myPoint.transform.localPosition = new Vector3(instance.curSector.c * Mathf.PI, instance.curSector.r * Mathf.PI, 0); SmartActorMapPoint p = myPoint.AddComponent <SmartActorMapPoint>(); p.SetTarget(instance); npcPointDic.Add(instance.id, myPoint); } }
/// <summary> /// 獲取坐騎 /// </summary> protected void S2C_GetMountListInfo(Pt _pt) { pt_ret_ride_info_e111 msg = _pt as pt_ret_ride_info_e111; if (msg != null) { for (int i = 0; i < msg.ride_list.Count; i++) { int id = msg.ride_list[i].ride_id; //Debug.Log("坐骑id : " + msg.ride_list[i].ride_id + " , 状态ride_state:" + msg.ride_list[i].ride_state + " lev : " + msg.ride_lev); if (mountInfoList.ContainsKey(id)) { MountInfo info = mountInfoList[id] as MountInfo; info.Update(msg.ride_list[i]); } else { mountInfoList[id] = new MountInfo(new MountData(msg.ride_list[i], msg.ride_lev), GameCenter.mainPlayerMng.MainPlayerInfo); if (OnGetNewMountUpdate != null && curMountInfo == null) { OnGetNewMountUpdate(mountInfoList[id] as MountInfo, ModelType.MOUNT); } } if (msg.ride_list[i].ride_state > 0 && (rideType != id || state != msg.ride_list[i].ride_state)) { rideType = id; state = msg.ride_list[i].ride_state; MountUpdate(); } } if (rideType == 0 && msg.ride_list.Count > 0)//默认坐骑为最后一个 { rideType = msg.ride_list[msg.ride_list.Count - 1].ride_id; state = msg.ride_list[msg.ride_list.Count - 1].ride_state; MountUpdate(); } CurLev = msg.ride_lev; SetRedRemind(); } //if (OnMountListUpdate != null) OnMountListUpdate(); }
public int GetPlayerLastLoginTime(int _serverInstanceID) { if (loginPlayerDic.ContainsKey(_serverInstanceID)) { PlayerBaseInfo info = loginPlayerDic[_serverInstanceID] as PlayerBaseInfo; if (info != null) { return(info.GetLastLoginTime); } } Debug.LogError("玩家ID:" + _serverInstanceID + ",GetLastLoginTime获取失败!"); return(0); }
int GetAllItemNum() { int num = 0; foreach (RewardGroupRef data in rewardDic.Values) { for (int i = 0; i < data.memberId.Count; i++) { if (rewardMemberDic.ContainsKey(data.memberId[i])) { RewardGroupMemberRef rewardGroupRef = rewardMemberDic[data.memberId[i]] as RewardGroupMemberRef; if (rewardGroupRef != null) { for (int j = 0; j < rewardGroupRef.item.Count; j++) { num++; } } } } } return(num); }
/// <summary> /// 创建链式特效(唯一) by吴江 /// </summary> /// <param name="_tarA"></param> /// <param name="_tarB"></param> /// <param name="_effectName"></param> public void CastLineEffect(Actor _tarA, Actor _tarB, string _effectName, float _speed = 1.0f) { if (lineEffectDic.ContainsKey(_effectName)) { Destroy(lineEffectDic[_effectName] as GameObject); lineEffectDic.Remove(_effectName); } if (_tarA == null || _tarB == null) { return; } AssetMng.GetEffectInstance(_effectName, (x) => { lineEffectDic[_effectName] = x; LightningEmitter le = x.GetComponent <LightningEmitter>(); if (le != null) { le.Target1 = _tarA.HitPoint; le.Target2 = _tarB.HitPoint; le.animSpeed = _speed; } }); }
/// <summary> /// 获取路径最近的怪物 /// </summary> /// <param name="_gameStage"></param> /// <param name="_player"></param> /// <param name="_needAlive"></param> /// <returns></returns> public static Monster GetClosestMob(this GameStage _gameStage, SmartActor _player, ref float _distance) { List <Monster> mobs = _gameStage.GetMobs(); FDictionary distanceDic = new FDictionary(); FDictionary mobDic = new FDictionary(); int selfCamp = _player.Camp; SceneType sceneType = GameCenter.curGameStage.SceneType; Vector3 selfPosition = _player.transform.position; for (int i = 0; i < mobs.Count; i++) { Monster mob = mobs[i]; if (mob.isDummy || !mob.IsShowing || mob.isDead) { continue; } if (mob.gameObject != null && !mob.isDead && !mob.IsActor && ConfigMng.Instance.GetRelationType(selfCamp, mob.Camp, sceneType) == RelationType.AUTOMATEDATTACKS) { Vector3[] path = GameStageUtility.StartPath(selfPosition, mob.transform.position); if (path != null) { if (path.Length != 2) { distanceDic.Add(mob.id, path.CountPathDistance());//距离计算方法改变 } else { distanceDic.Add(mob.id, Vector3.Distance(selfPosition, mob.transform.position)); } mobDic.Add(mob.id, mob); } } } int closestOne = -1; float distance = -1; foreach (int id in distanceDic.Keys) { if (distance < 0 || distance >= (float)distanceDic[id]) { closestOne = id; distance = (float)distanceDic[id]; _distance = distance; } } return(mobDic.ContainsKey(closestOne) ? mobDic[closestOne] as Monster : null); }
/// <summary> /// 选择合成的技能书 /// </summary> void ChooseBookToCompose() { ItemUI item = composeBookBtn.GetComponent <ItemUI>(); if (item == null) { return; } if (item.EQInfo == null || item.EQInfo != GameCenter.mercenaryMng.seleteEquip) { item.FillInfo(GameCenter.mercenaryMng.seleteEquip); for (int i = 0; i < choosedBookInMat.Count; i++) { if (!bookInBag.ContainsKey(choosedBookInMat[i])) { choosedPetSkill.Add(choosedBookInMat[i]); } } choosedBookInMat.Clear(); } ShowComposeUi(); }
/// <summary> /// 获取路径最近指定关系随从 by吴江 /// </summary> /// <param name="_gameStage"></param> /// <param name="_player"></param> /// <param name="_needAlive"></param> /// <returns></returns> public static OtherEntourage GetClosestEntourage(this GameStage _gameStage, SmartActor _player, RelationType _relationType, ref float _distance) { List <OtherEntourage> opcs = _gameStage.GetOtherEntourages(); FDictionary distanceDic = new FDictionary(); FDictionary opcDic = new FDictionary(); int selfCamp = _player.Camp; SceneType sceneType = GameCenter.curGameStage.SceneType; Vector3 selfPosition = _player.transform.position; for (int i = 0; i < opcs.Count; i++) { OtherEntourage opc = opcs[i]; if (opc.isDummy || !opc.IsShowing) { continue; } if (opc.gameObject != null && !opc.isDead && !opc.IsActor && ConfigMng.Instance.GetRelationType(selfCamp, opc.Camp, sceneType) == _relationType) { Vector3[] path = GameStageUtility.StartPath(selfPosition, opc.transform.position); if (path != null) { if (path.Length != 2) { distanceDic.Add(opc.id, path.CountPathDistance());//距离计算方法改变 } else { distanceDic.Add(opc.id, Vector3.Distance(selfPosition, opc.transform.position)); } opcDic.Add(opc.id, opc); } } } int closestOne = -1; float distance = -1; foreach (int id in distanceDic.Keys) { if (distance < 0 || distance >= (float)distanceDic[id]) { closestOne = id; distance = (float)distanceDic[id]; _distance = distance; } } return(opcDic.ContainsKey(closestOne) ? opcDic[closestOne] as OtherEntourage : null); }
protected void S2C_ReplyBoxData(Pt _msg) { //Debug.Log("S2C_ReplyBoxData"); pt_reply_royal_box_list_d941 msg = _msg as pt_reply_royal_box_list_d941; if (msg != null) { royalTreasureDic.Clear(); restActiveTimes = (int)msg.rest_acc_times; isOpeningBox = false; for (int i = 0; i < msg.box_list.Count; i++) { royal_box_info data = msg.box_list[i]; //Debug.Log(ConfigMng.Instance.GetRoyalBoxRef((int)data.type).boxItemID); if (data.active == 1)//当前有一个宝箱正在开启 { //Debug.Log("已经开启剩余时间=" + data.rest_time); timeGap = Time.realtimeSinceStartup; if (data.rest_time > 0.00) { isOpeningBox = true; } RoyalBoxRef royalBoxRef = ConfigMng.Instance.GetRoyalBoxRef((int)data.type); //发送消息推送(只发送一次,就在刚开启的时候发送) if (royalBoxRef != null && data.rest_time == royalBoxRef.time) { DateTime newServerTime = GameCenter.instance.CurServerTime; DateTime endTime = newServerTime.AddSeconds((int)data.rest_time); string time = string.Format("{0:D2}:{1:D2}:{2:D2}", endTime.Hour, endTime.Minute, endTime.Second); GameCenter.messageMng.SendPushInfo(2, 1, time); } } if (!royalTreasureDic.ContainsKey(data.id)) { RoyalTreaureData royalData = new RoyalTreaureData(data); royalTreasureDic[data.id] = royalData; } //if(royalTreasureDic.Count>=4)//宝箱位只有4个超过4个提示宝箱格已满 //{ // GameCenter.messageMng.AddClientMsg(486); //} } } if (OnRoyalBoxUpdate != null) { OnRoyalBoxUpdate(); } }
/// <summary> /// 获取路径最近的场景物品 /// </summary> /// <param name="_gameStage"></param> /// <param name="_player"></param> /// <param name="_needAlive"></param> /// <returns></returns> public static SceneItem GetClosestSceneItem(this GameStage _gameStage, PlayerBase _player) { List <SceneItem> sceneItems = _gameStage.GetSceneItems(); FDictionary distanceDic = new FDictionary(); FDictionary sceneDic = new FDictionary(); //int selfCamp = _player.Camp; //SceneType sceneType = GameCenter.curGameStage.SceneType; Vector3 selfPosition = _player.transform.position; Debug.Log(sceneItems.Count); for (int i = 0; i < sceneItems.Count; i++) { SceneItem sceneItem = sceneItems[i]; Debug.Log(sceneItem.isDummy + ":" + sceneItem.IsShowing); // if (sceneItem.isDummy || !sceneItem.IsShowing) continue; if (sceneItem.gameObject != null) { Vector3[] path = GameStageUtility.StartPath(selfPosition, sceneItem.transform.position); if (path != null) { if (path.Length != 2) { distanceDic.Add(sceneItem.id, path.CountPathDistance());//距离计算方法改变 } else { distanceDic.Add(sceneItem.id, Vector3.Distance(selfPosition, sceneItem.transform.position)); } sceneDic.Add(sceneItem.id, sceneItem); } } } int closestOne = -1; float distance = -1; foreach (int id in distanceDic.Keys) { if (distance < 0 || distance >= (float)distanceDic[id]) { closestOne = id; Debug.Log(closestOne); distance = (float)distanceDic[id]; } } return(sceneDic.ContainsKey(closestOne) ? sceneDic[closestOne] as SceneItem : null); }
/// <summary> /// 获取路径最近的怪物 /// </summary> /// <param name="_gameStage"></param> /// <param name="_player"></param> /// <param name="_needAlive"></param> /// <returns></returns> public static SmartActor GetClosestSmartActor(PlayerBase _player, List <SmartActor> smartActors, RelationType _relationType, ref float _instance) { List <SmartActor> smActors = smartActors; FDictionary distanceDic = new FDictionary(); FDictionary mobDic = new FDictionary(); int selfCamp = _player.Camp; SceneType sceneType = GameCenter.curGameStage.SceneType; Vector3 selfPosition = _player.transform.position; for (int i = 0; i < smActors.Count; i++) { SmartActor smActor = smActors[i]; if (smActor.gameObject != null && !smActor.isDead && !smActor.IsActor && ConfigMng.Instance.GetRelationType(selfCamp, smActor.Camp, sceneType) == _relationType) { Vector3[] path = GameStageUtility.StartPath(selfPosition, smActor.transform.position); if (path != null) { if (path.Length != 2) { distanceDic.Add(smActor.id, path.CountPathDistance());//距离计算方法改变 } else { distanceDic.Add(smActor.id, Vector3.Distance(selfPosition, smActor.transform.position)); } mobDic.Add(smActor.id, smActor); } } } int closestOne = -1; float distance = -1; foreach (int id in distanceDic.Keys) { if (distance < 0 || distance >= (float)distanceDic[id]) { closestOne = id; distance = (float)distanceDic[id]; } } _instance = distance; return(mobDic.ContainsKey(closestOne) ? mobDic[closestOne] as SmartActor : null); }
/// <summary> /// 获取仙侣称号 /// </summary> public void GeTTitleRef() { List <int> allCoupleTitle = ConfigMng.Instance.GetTitleListByType(23); FDictionary coupleOwnTitleDic = GameCenter.titleMng.TitleDictionary; //bool isOwnCoupleTitle = false; for (int i = 0, max = allCoupleTitle.Count; i < max; i++) { if (coupleOwnTitleDic.ContainsKey(allCoupleTitle[i])) { TitleInfo info = coupleOwnTitleDic[allCoupleTitle[i]] as TitleInfo; //Debug.Log( " des " + info.Des + " icon " + info.IconName + " isoen : " + info.IsOwn); if (info.IsOwn) { //isOwnCoupleTitle = true; titleRef = ConfigMng.Instance.GetTitlesRef(allCoupleTitle[i]); if (allCoupleTitle.Count > (i + 1)) { nextTitleRef = ConfigMng.Instance.GetTitlesRef(allCoupleTitle[i + 1]); } else { nextTitleRef = null; } } } } if (titleRef == null) { nextTitleRef = ConfigMng.Instance.GetTitlesRef(allCoupleTitle[0]); } //if (!isOwnCoupleTitle) //{ // titleRef = null; // if (allCoupleTitle.Count > 0) // nextTitleRef = ConfigMng.Instance.GetTitlesRef(allCoupleTitle[0]); // else // nextTitleRef = null; //} //if (_title == CoupleTitle.CURTITLE) // return titleRef; //else // return nextTitleRef; }
void ShowSkill() { List <uint> SkillList = curTargetInfo.CurPetInfo.SkillList; foreach (SingleLearnedSkill ui in petSkillList.Values) { ui.gameObject.SetActive(false); } if (grid != null) { grid.maxPerLine = SkillList.Count; SingleLearnedSkill skill = null; for (int i = 0, max = SkillList.Count; i < max; i++) { int id = (int)SkillList[i]; if (!petSkillList.ContainsKey(id)) { if (singleSkill != null) { GameObject go = (GameObject)GameObject.Instantiate(singleSkill.gameObject); go.transform.parent = singleSkill.transform.parent; go.transform.localPosition = Vector3.zero; go.transform.localScale = Vector3.one; skill = go.GetComponent <SingleLearnedSkill>(); if (skill != null) { petSkillList[id] = skill; skill.SkillRef = ConfigMng.Instance.GetPetSkillRef((int)id); } go.SetActive(true); } } else { SingleLearnedSkill petskill = petSkillList[id] as SingleLearnedSkill; petskill.SkillRef = ConfigMng.Instance.GetPetSkillRef((int)id); petskill.transform.localPosition = new Vector3(); petskill.gameObject.SetActive(true); } } grid.repositionNow = true; } }
/// <summary> /// 获得已经达成成就的数量 /// </summary> protected void S2C_AchievementReachNum(Pt _msg) { pt_update_achievement_reach_num_d766 msg = _msg as pt_update_achievement_reach_num_d766; if (msg != null) { achieveNumDic.Clear(); for (int i = 0; i < msg.achievement_reach.Count; i++) { achievement_reach data = msg.achievement_reach[i]; if (!achieveNumDic.ContainsKey(data.type)) { achieveNumDic[data.type] = data.amount; } } } if (OnGetAchievementNum != null) { OnGetAchievementNum(); } }
//每页展示四个 void ShowSkin() { foreach (SkinItem skin in skinItemList.Values) { skin.gameObject.SetActive(false); } for (int i = 0, max = mountSkinList.Count; i < max; i++) { int id = mountSkinList[i].mountId; if (!skinItemList.ContainsKey(id)) { if (parent != null) { SkinItem item = SkinItem.CeateNew(i, id, parent); if (item != null) { item.gameObject.SetActive(true); item.transform.localPosition = new Vector3((-236 + (i / 9) * 428.6f) + (i % 3) * 139, 117 - ((i - (i / 9) * 9) / 3) * 125); item.MountRefDate = ConfigMng.Instance.GetMountRef(id); skinItemList[id] = item; UIEventListener.Get(item.gameObject).onClick -= OnChangeSkin; UIEventListener.Get(item.gameObject).onClick += OnChangeSkin; UIEventListener.Get(item.gameObject).parameter = id; } } } else { SkinItem skin = skinItemList[id] as SkinItem; skin.gameObject.SetActive(true); skin.transform.localPosition = new Vector3((-236 + (i / 9) * 428.6f) + (i % 3) * 139, 117 - ((i - (i / 9) * 9) / 3) * 125); skin.MountRefDate = ConfigMng.Instance.GetMountRef(id); skinItemList[id] = skin; UIEventListener.Get(skin.gameObject).onClick -= OnChangeSkin; UIEventListener.Get(skin.gameObject).onClick += OnChangeSkin; UIEventListener.Get(skin.gameObject).parameter = id; } } ShowPageBtn(); }
/// <summary> /// 设置后台活动开启 by黄洪兴 /// </summary> /// <param name="_type"></param> /// <param name="_isOpen"></param> public void SetServerActiveOpen(FunctionType _type, bool _isOpen) { FunctionDataInfo funcInfo = null; if (functionList.ContainsKey((int)_type)) { funcInfo = functionList[(int)_type] as FunctionDataInfo; funcInfo.Update(_isOpen); } else { funcInfo = new FunctionDataInfo(_type, _isOpen, FunctionDataInfo.FunctionControlType.PROGRAMCONTROL); functionList[(int)_type] = funcInfo; } if (UpdateServerOpen != null && funcInfo != null) { UpdateServerOpen(funcInfo, _isOpen); //Debug.Log("后台活动开启更新"); } }
/// <summary> /// 1 坐骑 2 幻化 /// </summary> public List <MountRef> MountList(int type) { FDictionary mountTable = ConfigMng.Instance.MountRefTable; mountList.Clear(); if (type == 1) { foreach (MountRef item in mountTable.Values) { if (item.kind == 1) { if (!AllMountDic.ContainsKey(item.mountId)) { AllMountDic[item.mountId] = new MountInfo(item); } mountList.Add(item); } } return(mountList); } else if (type == 2) { foreach (MountRef item in mountTable.Values) { if (item.kind == 2) { if (!AllSkinDic.ContainsKey(item.mountId)) { AllSkinDic[item.mountId] = new MountInfo(item); } mountList.Add(item); } } mountList.Sort(SortMountInfo); return(mountList); } return(mountList); }
/// <summary> /// 选择技能书到背包 /// </summary> void OnClickChooseToBag(GameObject go) { if (GameCenter.mercenaryMng.choosedSkillId == 0) { BookItem bookitem = null; int id = (int)UIEventListener.Get(go.gameObject).parameter; if (bookByCopyAll.ContainsKey(id)) { bookitem = bookByCopyAll[id] as BookItem; if (petSkillByCopyAll.ContainsKey(id)) { if (bookitem.chooseEx != null && bookitem.chooseEx.IsGray == UISpriteEx.ColorGray.normal) { GameCenter.mercenaryMng.choosedSkillId = id; bookitem.chooseBtn.gameObject.SetActive(false); bookitem.chooseYetBtn.gameObject.SetActive(true); GameCenter.mercenaryMng.C2S_ReqAddBookToBag(id); } } } ShowBook(); } }