public void SendJoinEctypeToSever(int ectypeID) { EctypeSelectConfigData ectypeSelectConfigData = null; int diff = 0; foreach (var child in EctypeConfigManager.Instance.EctypeSelectConfigFile._dataTable) { child.InitectContainer(); foreach (var m_id in child.VectContainerList) { if (m_id.Value == ectypeID) { ectypeSelectConfigData = child; diff = m_id.Key; break; } } if (ectypeSelectConfigData != null) { break; } } SMSGEctypeRequestCreate_CS sMSGEctypeRequestCreate_CS = new SMSGEctypeRequestCreate_CS() { //TODO:进入技能协议有更改,去掉副本iD和难度,需要从新修改 // uidEntity = PlayerManager.Instance.FindHeroDataModel().SMsg_Header.uidEntity, // dwEctypeId = (int)ectypeSelectConfigData._lEctypeID, // byDifficulty = (byte)diff, }; NetServiceManager.Instance.EctypeService.SendEctypeRequest(sMSGEctypeRequestCreate_CS); // TraceUtil.Log("发送进入副本请求:" + sMSGEctypeRequestCreate_CS.dwEctypeId + "," + sMSGEctypeRequestCreate_CS.byDifficulty); }
public void InitPanel(int index, EctypeSelectConfigData ectypeSelectConfigData, EctypePanel_V4 myParent) { this.PositionIndex = index; this.myParent = myParent; if (transform.childCount > 0) { transform.ClearChild(); } this.ectypeSelectConfigData = ectypeSelectConfigData; this.ectypeSelectConfigData.InitectContainer(); for (int i = 0; i < this.ectypeSelectConfigData._vectContainer.Length; i++) { //add by lee 如果是封妖副本 break if (ectypeSelectConfigData._vectContainer[i] == ectypeSelectConfigData._sirenEctypeContainerID) { break; } GameObject EctypeCard = null; EctypeCard = CreatObjectToNGUI.InstantiateObj(LocalEctypeCarPrefab, transform); LocalEctypePanel_v3 ectypeCard = EctypeCard.GetComponent <LocalEctypePanel_v3>(); ectypeCard.ContainerID = ectypeSelectConfigData._lEctypeID; ectypeCard.InitPanel(this.ectypeSelectConfigData._vectContainer[i], myParent); this.LocalPanelList.Add(ectypeCard); } SetMyPosition(index); }
public void Show(EctypeSelectConfigData selectData, EctypeContainerData[] datas) { m_EctypeSelectConfigData = selectData; for (int i = 0; i < ECTYPE_MAX_NUM; i++) { if (i >= datas.Length) { m_EctypeCardList[i].gameObject.SetActive(false); } else { m_EctypeCardList[i].Init(EctypeCardItem_V2.CardType.Ectype, datas[i], OnSelectCardHandle); m_EctypeContainerID = datas[i].lEctypeContainerID; m_EctypeCardList[i].gameObject.SetActive(true); m_EctypeCardList[i].gameObject.RegisterBtnMappingId(m_EctypeContainerID, UIType.TeamInfo, BtnMapId_Sub.TeamInfo_CreateTeam_EctypeItem); } } Label_AreaName.text = LanguageTextManager.GetString(selectData._szName); //默认选择最大 OnSelectCardHandle(m_EctypeContainerID); //默认普通难度 m_EctypeHard = 0; Swith_Hard.ChangeSprite(m_EctypeHard + 1); transform.localPosition = Vector3.zero; }
CommandCallbackType ECTYPE_CLEARANCEHandle(byte[] dataBuffer, int socketID) { //TraceUtil.Log("============SendEctypeGoBattle##########2"); ECTYPE_CLEARANCE ectype_CLEARANCE = PackageHelper.BytesToStuct <ECTYPE_CLEARANCE>(dataBuffer); //RaiseEvent(EventTypeEnum.RequestEctypeUnlock.ToString(), ectype_CLEARANCE); uint _ectypeid = ectype_CLEARANCE.dwEctypeId; string ectypeid = ectype_CLEARANCE.dwEctypeId.ToString(); //TraceUtil.Log("$$$$$$$$$$$$$$$$$$$$$$$+?????????±±?????ectype_CLEARANCE.dwEctypeID" + ectype_CLEARANCE.dwEctypeId); if (ectypeid.Length > 5) { int _ectypeID = int.Parse(ectypeid.Substring(0, 5)); int _diff = int.Parse(ectypeid.Substring(4, 3)); EctypeSelectConfigData item = EctypeConfigManager.Instance.EctypeSelectConfigList[_ectypeID]; _ectypeid = (uint)item._vectContainer[_diff - 1]; //TraceUtil.Log("#################_ectypeid" + _ectypeid); } //NewbieGuideManager.Instance.SetPassEctypeID(_ectypeid); StroyLineDataManager.Instance.SetPassEctypeID(_ectypeid); return(CommandCallbackType.Continue); }
public void Init(EctypeSelectConfigData configData, EctypeDiffListPanel myParent) { MyParent = myParent; MyConfigData = configData; LockIcon.gameObject.SetActive(IsLock); NameLabel.gameObject.SetActive(!IsLock); if (!IsLock) { m_IconSprite = CreatObjectToNGUI.InstantiateObj(configData._EctypeIconPrefab, EctypeIconPos).GetComponent <UISprite>(); NameLabel.SetButtonText(LanguageTextManager.GetString(configData._szName)); } }
public void CreatNewRoom() { TraceUtil.Log("新建房间"); EctypeSelectConfigData ectypeSelectConfigData = EctypeConfigManager.Instance.EctypeSelectConfigList[10001]; SMSGEctypeRequestCreate_CS sMSGEctypeRequestCreate_CS = new SMSGEctypeRequestCreate_CS() { //TODO:进入技能协议有更改,去掉副本iD和难度,需要从新修改 // uidEntity = PlayerManager.Instance.FindHeroDataModel().SMsg_Header.uidEntity, // dwEctypeId = ectypeSelectConfigData._lEctypeID, // byDifficulty = (byte)ectypeSelectConfigData._vectDifficulty[0], }; NetServiceManager.Instance.EctypeService.SendEctypeRequest(sMSGEctypeRequestCreate_CS); }
/// <summary> /// 进否进入剧情[貌似没有使用] /// </summary> /// <param name="onSelectEctypeData">当前所选择的副本</param> public void CurSelectEctype(SMSGEctypeData_SC onSelectEctypeData) { m_curSelectEctypeData = onSelectEctypeData; int vocation = PlayerManager.Instance.FindHeroDataModel().PlayerValues.PlayerCommonValue.PLAYER_FIELD_VISIBLE_VOCATION; EctypeSelectConfigData item = null; //todo:onSelectEctypeData协议已经取消难度dwEctypeID和byDiff难度,如果使用需要从新更改 //EctypeConfigManager.Instance.EctypeSelectConfigList.TryGetValue((int)onSelectEctypeData.dwEctypeID, out item); if (item == null) { return; } int _ectypeid = 0;// = item._vectContainer[(int)onSelectEctypeData.byDiff - 1]; StroyLineKey key = new StroyLineKey { VocationID = vocation, ConditionID = 0, EctypeID = _ectypeid }; if (StroyLineConfigManager.Instance.GetStroyLineConfig.ContainsKey(key) && _ectypeid > m_passEctypeId) { StroyLineConfigData stroyLineConfig = StroyLineConfigManager.Instance.GetStroyLineConfig[key]; m_curStroyMapID = stroyLineConfig._SceneMapID; m_curMapBgMusic = stroyLineConfig._BgMusic; m_curCameraGroupID = stroyLineConfig._CameraGroup; //1=进入触发;2=完成触发 if (StroyLineConfigManager.Instance.GetStroyLineConfig[key]._TriggerCondition == 1) { m_stroyLineType = StroyLineType.EctypeStart; } else if (StroyLineConfigManager.Instance.GetStroyLineConfig[key]._TriggerCondition == 2) { m_stroyLineType = StroyLineType.EctypeEnd; } //else // m_stroyLineType = StroyLineType.None; } //else //{ // m_stroyLineType = StroyLineType.None; //} }
void OnTeamWorkJoin(object obj) { var playerData = PlayerManager.Instance.FindHeroDataModel(); int areaID = EctypeConfigManager.Instance.GetSelectContainerID((int)sMSGEctypeLevelData_SC.dwEctypeId); EctypeSelectConfigData escData = EctypeConfigManager.Instance.EctypeSelectConfigList[areaID]; TeamManager.Instance.SetCurSelectEctypeContainerData(escData); NetServiceManager.Instance.TeamService.SendGetTeamListMsg(new SMSGGetTeamList_CS() { uidEntity = playerData.UID, dwEctypeID = (uint)escData._lEctypeID, byDifficulty = 0 }); //if (PlayerManager.Instance.FindHeroDataModel().PlayerValues.PLAYER_FIELD_CURRENCY_ACTIVELIFE <= 0) //{ // UIEventManager.Instance.TriggerUIEvent(UIEventType.NoEnoughActiveLife, null); // return; //} MainUIController.Instance.OpenMainUI(UIType.TeamInfo); }
//public LocalTeamPropMember FindMember(int dwActorID) //{ // var targetPropMember = m_MemberList.SingleOrDefault(p => p.dwActorID == dwActorID); // if (targetPropMember != null) // return targetPropMember; // return null; //} /// <summary> /// 当前选择区域 /// </summary> /// <param name="data">Data.</param> public void SetCurSelectEctypeContainerData(EctypeSelectConfigData data) { this.m_curSelectEctypeAreaData = data; }
private static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromPath) { if (CheckResModified(importedAssets) || CheckResModified(deletedAssets) || CheckResModified(movedAssets)) { string path = System.IO.Path.Combine(RESOURCE_UI_CONFIG_FOLDER, "EctypeDifficulty.xml"); TextReader tr = new StreamReader(path); string text = tr.ReadToEnd(); if (text == null) { Debug.LogError("Player level config file not exist"); return; } else { XmlSpreadSheetReader.ReadSheet(text); XmlSpreadSheet sheet = XmlSpreadSheetReader.Output; string[] keys = XmlSpreadSheetReader.Keys; object[] levelIds = sheet[keys[0]]; List <EctypeSelectConfigData> tempList = new List <EctypeSelectConfigData>(); for (int i = 3; i < levelIds.Length; i++) { EctypeSelectConfigData data = new EctypeSelectConfigData(); data._lEctypeID = Convert.ToInt32(sheet["lEctypeID"][i]); data._szName = Convert.ToString(sheet["szName"][i]); // string[] vectDifficultyValue = Convert.ToString(sheet["byContainerNum"][i]).Split('+'); // data._vectDifficulty = new int[vectDifficultyValue.Length]; // for (int j = 0; j < vectDifficultyValue.Length; ++j ) // { // data._vectDifficulty[j] = int.Parse(vectDifficultyValue[j]); // } string[] difficult2Container = Convert.ToString(sheet["Difficult2Container"][i]).Split('+'); List <int> difficult2ContainerData = new List <int>(); difficult2Container.ApplyAllItem(P => difficult2ContainerData.Add(int.Parse(P))); data.Difficult2Container = new List <int>(); if (difficult2ContainerData[0] != 0) { data.Difficult2Container.AddRange(difficult2ContainerData); } //data.Difficult2Container = difficult2ContainerData.ToArray(); //data._vectDifficulty = vectDifficultyValue.Split('+'); string[] vectContainerValue = Convert.ToString(sheet["vectContainer"][i]).Split('+'); data._vectContainer = new int[vectContainerValue.Length]; for (int k = 0; k < vectContainerValue.Length; ++k) { data._vectContainer[k] = int.Parse(vectContainerValue[k]); } data._EctypeIcon = Convert.ToString(sheet["lEctypeIcon"][i]); data.EctypeRewardIcon = Convert.ToString(sheet["EctypeRewardIcon"][i]); List <EctypeRewardItem> rewardItem = new List <EctypeRewardItem>(); string[] rewardItemStr = Convert.ToString(sheet["AwardItem"][i]).Split('|'); rewardItemStr.ApplyAllItem(P => rewardItem.Add(new EctypeRewardItem() { ItemID = int.Parse(P.Split('+')[0]), ItemNum = int.Parse(P.Split('+')[1]) })); data.AwardItem = rewardItem.ToArray(); data._lEctypeYaoqiMax = Convert.ToInt32(sheet["lEctypeYaoqiMax"][i]); data._sirenEctypeContainerID = Convert.ToInt32(sheet["SirenEctypeContainerID"][i]); data.lEctypeType = Convert.ToInt32(sheet["lEctypeType"][i]); string pathRes = System.IO.Path.Combine(ASSET_ECTYPE_RES_CONFIG_FOLDER, data._EctypeIcon + ".prefab"); data._EctypeIconPrefab = (GameObject)AssetDatabase.LoadAssetAtPath(pathRes, typeof(GameObject)); tempList.Add(data); } CreateSceneConfigDataBase(tempList); } } }
public void Show(EctypeSelectConfigData selectData, EctypePanel_V5 myParent) { Init(); m_TreasureChestsPanel.Init(this); EctypeSelectData = selectData; MyParent = myParent; //查找当前页面最大解锁副本id MaxEctypeContaienrID = 0; myEctypeContainerIDList.Clear(); selectData._vectContainer.ApplyAllItem(c => myEctypeContainerIDList.Add(c)); selectData.Difficult2Container.ApplyAllItem(c => myEctypeContainerIDList.Add(c)); foreach (var child in EctypeModel.Instance.sMSGEctypeSelect_SC.sMSGEctypeData_SCs) //myParent.UnlockEctypeData.sMSGEctypeData_SCs) { if (myEctypeContainerIDList.Contains((int)child.dwEctypeContaienrID) && (int)child.dwEctypeContaienrID > MaxEctypeContaienrID) { MaxEctypeContaienrID = (int)child.dwEctypeContaienrID; } } bool islock = false; MyContainerItemSlotList.ApplyAllItem(c => c.SetMyselfActive(false)); int i = 0; for (; i < MyContainerItemSlotList.Count; i++) { if (selectData._vectContainer.Length > i) { MyContainerItemSlotList[i].SetMyselfActive(true); islock = EctypeIDIsLock(GetContainerID(i, true)); MyContainerItemSlotList[i].Init(GetContainerID(i, true), GetContainerID(i, false), this, MyParent.jumpPointEctypeID); if (islock) { if (i < MyContainerItemSlotList.Count - 1) { m_SingleTreasureChestsItem.transform.localPosition = MyContainerItemSlotList[i + 1].transform.localPosition; } else { m_SingleTreasureChestsItem.transform.localPosition = originalPos; } break; } } else { break; } } if (!islock) { if (i >= MyContainerItemSlotList.Count) { i = MyContainerItemSlotList.Count; m_SingleTreasureChestsItem.transform.localPosition = originalPos; } else { m_SingleTreasureChestsItem.transform.localPosition = MyContainerItemSlotList[i].transform.localPosition; } } m_SingleTreasureChestsItem.UpdateStatus(this); }
public void UpdateTeammateInfo(SMsgTeamNum_SC sMsgTeamNum) { var teamProp = sMsgTeamNum.SMsgTeamProps[0]; TeamManager.Instance.RegisteTeam(teamProp); int teammateNo = 0; var playerData = PlayerManager.Instance.FindHeroDataModel(); //var propMembers = teamProp.TeamMemberNum_SC.SMsgTeamPropMembers.Where(p => p.TeamMemberContext.dwActorID != playerData.ActorID).ToArray(); var propMembers = teamProp.TeamMemberNum_SC.SMsgTeamPropMembers; int teammateNum = propMembers.Length; //队长风格 bool isCaptain = false; if (teamProp.TeamContext.dwCaptainId == playerData.ActorID) { ShowCaptainInterface(); isCaptain = true; } else { ShowMemberInterface(); } //初始化 hero model views if (m_MemberHeroViews == null) { m_TeamMemberViewCamera = (GameObject)Instantiate(TeamCamaraRoot); //m_TeamMemberViewCamera.transform.parent = transform; //m_TeamMemberViewCamera.transform.localScale = Vector3.one; //m_TeamMemberViewCamera.transform.localPosition = new Vector3(-2000, 0, 0); m_TeamMemberViewCamera.transform.localPosition = new Vector3(0, 0, 10);//z为10避免看到town的label m_MemberHeroViews = m_TeamMemberViewCamera.GetComponentsInChildren <ContainerHeroView>(); } m_TeamMemberViewCamera.SetActive(true); var camera = m_TeamMemberViewCamera.GetComponentInChildren <Camera>(); camera.enabled = true; EctypeSelectConfigData ectypeData = null; ectypeData = EctypeConfigManager.Instance.EctypeSelectConfigList[teamProp.TeamContext.dwEctypeId]; var ectypeID = ectypeData._vectContainer[teamProp.TeamContext.byEctypeDifficulty - 1]; var ectypeInfo = EctypeConfigManager.Instance.EctypeContainerConfigList[ectypeID]; AreaTitleLabel.text = LanguageTextManager.GetString(ectypeInfo.lEctypeName);//更新标题 mTeamMemberList.ApplyAllItem(p => { if (teammateNo < teammateNum) { p.SetInfo(propMembers[teammateNo].TeamMemberContext, ectypeInfo); //显示hero model view m_MemberHeroViews[teammateNo].ShowHeroModelView((int)propMembers[teammateNo].TeamMemberContext.dwActorID, propMembers[teammateNo].TeamMemberContext.byKind, propMembers[teammateNo].TeamMemberContext.nFashionID , propMembers[teammateNo].TeamMemberContext.nCurWeaponID); } else { p.Close(); } teammateNo++; }); //如果是队长,更新邀请请离按钮 if (isCaptain) { ResetButtons(); // if (teamProp.TeamContext.byCurNum <= 1) { ExplanationLabel.text = LanguageTextManager.GetString("IDS_H1_171"); } else { ExplanationLabel.text = LanguageTextManager.GetString("IDS_H1_170"); } } else { ExplanationLabel.text = ""; //自身是队员 判断准备按钮是否置灰 var myTeamData = teamProp.TeamMemberNum_SC.SMsgTeamPropMembers.SingleOrDefault(p => p.TeamMemberContext.dwActorID == playerData.ActorID); if (myTeamData.TeamMemberContext.byFightReady == 1) { MemberReadyButton.SetButtonStatus(true); MemberReadyButton.SetButtonTextColor(m_greyColor); MemberReadyButton.SetButtonActive(false); MemberReadyButton.animation.Stop(); } } //判断是否全员准备 bool isAllReady = true; teamProp.TeamMemberNum_SC.SMsgTeamPropMembers.ApplyAllItem(p => { //TraceUtil.Log("[Weapean ID]"+p.TeamMemberContext.nCurWeaponID); if (p.TeamMemberContext.byFightReady == 0) { isAllReady = false; } }); if (isAllReady) { CaptainStartButton.animation.Play(); } else { CaptainStartButton.animation.Stop(); } /* * * //挑战界面信息 * var challengeData = TeamManager.Instance.CurrentEctypeLevelData; * ComboLabel.text = ComboFTx + (challengeData.wHighestCombo == 0 ? "" : challengeData.wHighestCombo.ToString()); * * //通关时间 * int Passtime = (int)challengeData.dwBestClearTime; * int Minutes = Passtime / 60000; * int Second = Passtime % 60000 / 1000; * int MS = Passtime % 60000 % 1000 / 10; * string PassTime = string.Format("{0}:{1}:{2}", Minutes, Second, MS); * * TimeLabel.text = TimeFTx + (PassTime == "0:0:0" ? "" : PassTime); * * //TimeLabel.text = TimeFTx + challengeData.dwBestClearTime.ToString(); * */ //\如果一开始就有队伍,这里索取的值为空 if (ectypeData != null) { ectypeData.InitectContainer(); int containerID = ectypeData.GetVectContainer(teamProp.TeamContext.byEctypeDifficulty); var localEctypeContainerData = EctypeConfigManager.Instance.EctypeContainerConfigList[containerID]; if (localEctypeContainerData != null) { ExpLabel.text = ExpFTx + localEctypeContainerData.lExperience.ToString(); CopperLabel.text = CopperFTx + localEctypeContainerData.lMoney.ToString(); TitleLabel.text = LanguageTextManager.GetString(localEctypeContainerData.lEctypeName); //储存副本信息 TeamManager.Instance.SetEctypeData(new SMSGEctypeData_SC() { //Todo:onSelectEctypeData协议已经取消dwEctypeID和byDiff难度,如果使用需要从新更改 // dwEctypeID = (uint)ectypeData._lEctypeID, // byDiff = (byte)localEctypeContainerData.lDifficulty }); } CostTypeSpriteSwith.ChangeSprite(localEctypeContainerData.lCostType);//消耗类型 ActiveCostLabel.text = ActiveCostFTx + localEctypeContainerData.lCostEnergy.ToString(); } //队长如果是邀请界面 if (TeamInvitePanel.gameObject.activeInHierarchy) { TeamInvitePanel.ShowFriendList(); } }