private void _InitSingleGame(SCPKG_STARTSINGLEGAMERSP svrGameInfo) { this._gameContextCommonData.GameType = svrGameInfo.bGameType; ResLevelCfgInfo levelCfg = null; if (this._gameContextCommonData.GameType == 2) { levelCfg = GameDataMgr.levelDatabin.GetDataByKey((long)svrGameInfo.iLevelId); } else if (this._gameContextCommonData.GameType == null) { levelCfg = GameDataMgr.levelDatabin.GetDataByKey((long)svrGameInfo.iLevelId); this._gameContextCommonData.LevelDifficulty = Singleton <CAdventureSys> .get_instance().currentDifficulty; } else if (this._gameContextCommonData.GameType == 7) { levelCfg = GameDataMgr.burnMap.GetDataByKey((long)Singleton <BurnExpeditionController> .GetInstance().model.Get_LevelID(Singleton <BurnExpeditionController> .GetInstance().model.curSelect_LevelIndex)); } else if (this._gameContextCommonData.GameType == 8) { levelCfg = GameDataMgr.arenaLevelDatabin.GetDataByKey((long)svrGameInfo.iLevelId); } else if (this._gameContextCommonData.GameType == 1) { uint dwMapId = svrGameInfo.stGameParam.get_stSingleGameRspOfCombat().dwMapId; byte bMapType = svrGameInfo.stGameParam.get_stSingleGameRspOfCombat().bMapType; bool isWarmBattle = svrGameInfo.stGameParam.get_stSingleGameRspOfCombat().bIsWarmBattle > 0; byte bAILevel = svrGameInfo.stGameParam.get_stSingleGameRspOfCombat().bAILevel; this._InitMultiGame(svrGameInfo.bGameType, (int)bMapType, dwMapId, isWarmBattle, (int)bAILevel); return; } this._SetSingleGame(levelCfg); }
public static ResLevelCfgInfo GetPveMapInfo(byte gameType, int levelID) { ResLevelCfgInfo resLevelCfgInfo = null; if (gameType == 2) { resLevelCfgInfo = GameDataMgr.levelDatabin.GetDataByKey((long)levelID); } else if (gameType == 0) { resLevelCfgInfo = GameDataMgr.levelDatabin.GetDataByKey((long)levelID); } else if (gameType == 7) { resLevelCfgInfo = GameDataMgr.burnMap.GetDataByKey((long)Singleton <BurnExpeditionController> .GetInstance().model.Get_LevelID(Singleton <BurnExpeditionController> .GetInstance().model.curSelect_LevelIndex)); } else if (gameType == 8) { resLevelCfgInfo = GameDataMgr.arenaLevelDatabin.GetDataByKey((long)levelID); } else if (gameType == 3) { } if (resLevelCfgInfo == null) { if (gameType != 1) { } resLevelCfgInfo = new ResLevelCfgInfo(); } return(resLevelCfgInfo); }
public static void InitChapterElement(CUIFormScript formScript, int currentChapter, int levelNo, int difficulty) { CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo(); if (masterRoleInfo == null) { return; } PVE_ADV_COMPLETE_INFO pVE_ADV_COMPLETE_INFO = masterRoleInfo.pveLevelDetail[difficulty - 1]; PVE_CHAPTER_COMPLETE_INFO pVE_CHAPTER_COMPLETE_INFO = pVE_ADV_COMPLETE_INFO.ChapterDetailList[currentChapter - 1]; PVE_LEVEL_COMPLETE_INFO[] levelDetailList = pVE_CHAPTER_COMPLETE_INFO.LevelDetailList; ResLevelCfgInfo dataByKey = GameDataMgr.levelDatabin.GetDataByKey((long)levelDetailList[levelNo - 1].iLevelID); if (dataByKey == null) { return; } formScript.transform.FindChild("ChapterElement/ChapterImg").GetComponent <Image>().SetSprite(CAdventureView.GetLevelBgPath(currentChapter, levelNo, difficulty), formScript, true, false, false, false); formScript.transform.FindChild("ChapterElement/ChapterNameText").GetComponent <Text>().text = Utility.UTF8Convert(dataByKey.szName); formScript.transform.FindChild("ChapterElement/ChapterDEscText").GetComponent <Text>().text = Utility.UTF8Convert(dataByKey.szLevelDesc); formScript.transform.FindChild("ChapterElement/RecPlayerLvlText").GetComponent <Text>().text = Singleton <CTextManager> .get_instance().GetText("Level_Recommend_Tips_1", new string[] { dataByKey.RecommendLevel[difficulty - 1].ToString() }); formScript.transform.FindChild("Bg").GetComponent <Image>().color = CAdventureView.s_Adv_Difficult_Bg_Color[difficulty - 1]; }
public bool Reset(int LevelID) { this.Clear(); ResLevelCfgInfo info = FindLevelConfig(LevelID); DebugHelper.Assert(info != null); if (info == null) { return(false); } for (int i = 0; i < info.astStarDetail.Length; i++) { ResDT_IntParamArrayNode node = info.astStarDetail[i]; if (node.iParam == 0) { break; } this.AddStarEvaluation(node.iParam); } if (info.iLoseCondition != 0) { ResEvaluateStarInfo dataByKey = GameDataMgr.evaluateCondInfoDatabin.GetDataByKey((uint)info.iLoseCondition); DebugHelper.Assert(dataByKey != null); if (dataByKey == null) { return(false); } this.FailureEvaluation = this.CreateStar(dataByKey, 0); DebugHelper.Assert(this.FailureEvaluation != null, "我擦,怎会没有?"); } Singleton <EventRouter> .instance.BroadCastEvent(EventID.StarSystemInitialized); return(true); }
private void initNotifyDestroyStat() { SLevelContext curLvelContext = Singleton <BattleLogic> .GetInstance().GetCurLvelContext(); if (!curLvelContext.isPVPLevel) { ResLevelCfgInfo info = StarSystem.FindLevelConfig(curLvelContext.iLevelID); if ((info != null) && (info.astStarDetail != null)) { for (int i = 0; i < info.astStarDetail.Length; i++) { int iParam = info.astStarDetail[i].iParam; if (iParam != 0) { ResEvaluateStarInfo dataByKey = GameDataMgr.evaluateCondInfoDatabin.GetDataByKey((uint)iParam); this.CondfoToDestroyStat(dataByKey.astConditions); } } } else { DebugHelper.Assert(false, string.Format("LevelConfig is null -- levelID: {0}", curLvelContext.iLevelID)); } } }
internal DynamicAttributeInfo ConsiderMonsterDynamicInfo(ResMonsterCfgInfo monsterCfg) { int dwAIPlayerLevel = 0; if (monsterCfg.iDynamicInfoType == 1) { SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); if ((curLvelContext != null) && !curLvelContext.IsMobaMode()) { ResLevelCfgInfo info2 = GameDataMgr.levelDatabin.GetDataByKey((long)curLvelContext.m_mapID); if (info2 == null) { base.ErrorMissingLevelConfig((uint)curLvelContext.m_mapID); return(null); } if (curLvelContext.m_pveLevelType == RES_LEVEL_TYPE.RES_LEVEL_TYPE_PVP) { dwAIPlayerLevel = (int)info2.dwAIPlayerLevel; } } } if (dwAIPlayerLevel <= 0) { return(null); } ResMonsterOrganLevelDynamicInfo dataByKey = GameDataMgr.monsterOrganLvDynamicInfobin.GetDataByKey((long)dwAIPlayerLevel); if (dataByKey == null) { return(null); } switch (monsterCfg.bSoldierType) { case 1: return(dataByKey.stMelee); case 2: return(dataByKey.stRemote); case 3: return(dataByKey.stSuper); case 4: return(dataByKey.stAnYingDaJiang); case 5: return(dataByKey.stHeiAnXianFeng); case 6: return(dataByKey.stBaoZouJiangShi); case 7: case 8: return(dataByKey.stBaoJun); } return(null); }
public bool CheckUnlock(uint id) { bool flag = false; ResUnlockCondition dataByKey = GameDataMgr.unlockConditionDatabin.GetDataByKey(id); object[] inParameters = new object[] { id }; DebugHelper.Assert(dataByKey != null, "ResUnlockCondition[{0}] can not be find.", inParameters); CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .instance.GetMasterRoleInfo(); DebugHelper.Assert(masterRoleInfo != null, "roleinfo can't be null in CheckUnlock"); if ((masterRoleInfo != null) && (dataByKey != null)) { switch (dataByKey.wUnlockType) { case 1: return(masterRoleInfo.PvpLevel >= dataByKey.UnlockParam[0]); case 2: { int num = (int)dataByKey.UnlockParam[0]; int num2 = (int)dataByKey.UnlockParam[1]; int index = 0; ResLevelCfgInfo info2 = GameDataMgr.levelDatabin.GetDataByKey((long)num); object[] objArray2 = new object[] { num }; DebugHelper.Assert(info2 != null, "can't find level = {0}", objArray2); flag = false; if (((info2 != null) && (info2 != null)) && ((masterRoleInfo.pveLevelDetail[index] != null) && (masterRoleInfo.pveLevelDetail[index].ChapterDetailList[info2.iChapterId - 1] != null))) { PVE_CHAPTER_COMPLETE_INFO pve_chapter_complete_info = masterRoleInfo.pveLevelDetail[index].ChapterDetailList[info2.iChapterId - 1]; for (int i = 0; i < pve_chapter_complete_info.LevelDetailList.Length; i++) { PVE_LEVEL_COMPLETE_INFO pve_level_complete_info = pve_chapter_complete_info.LevelDetailList[i]; if ((pve_level_complete_info != null) && (pve_level_complete_info.iLevelID == num)) { flag = (pve_level_complete_info.levelStatus == 1) && (num2 <= CAdventureSys.GetStarNum(pve_level_complete_info.bStarBits)); break; } } } return(true); } case 3: return(flag); case 4: { uint num5 = 0; if (masterRoleInfo.pvpDetail != null) { num5 = (masterRoleInfo.pvpDetail.stOneVsOneInfo.dwTotalNum + masterRoleInfo.pvpDetail.stTwoVsTwoInfo.dwTotalNum) + masterRoleInfo.pvpDetail.stThreeVsThreeInfo.dwTotalNum; } return((dataByKey.UnlockParam[0] <= num5) && (dataByKey.UnlockParam[1] <= masterRoleInfo.PvpLevel)); } } } return(flag); }
public static void InitLevelList(CUIFormScript form, int currentChapter, int levelNo, int difficulty) { CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo(); if (masterRoleInfo != null) { ResChapterInfo dataByKey = GameDataMgr.chapterInfoDatabin.GetDataByKey(currentChapter); DebugHelper.Assert(dataByKey != null); bool flag = Singleton <CFunctionUnlockSys> .instance.ChapterIsUnlock(dataByKey.dwChapterId); PVE_ADV_COMPLETE_INFO pve_adv_complete_info = masterRoleInfo.pveLevelDetail[difficulty - 1]; PVE_CHAPTER_COMPLETE_INFO pve_chapter_complete_info = pve_adv_complete_info.ChapterDetailList[currentChapter - 1]; PVE_LEVEL_COMPLETE_INFO[] levelDetailList = pve_chapter_complete_info.LevelDetailList; CUIListScript component = form.transform.FindChild("LevelList").GetComponent <CUIListScript>(); component.SetElementAmount(levelDetailList.Length); CUIListElementScript elemenet = null; Sprite sprite = CUIUtility.GetSpritePrefeb(GetLevelFramePath(difficulty), false, false).GetComponent <SpriteRenderer>().sprite; GameObject prefab = CUIUtility.GetSpritePrefeb(GetLevelSelectFramePath(difficulty), false, false); for (int i = 0; i < levelDetailList.Length; i++) { elemenet = component.GetElemenet(i); ResLevelCfgInfo info3 = GameDataMgr.levelDatabin.GetDataByKey(levelDetailList[i].iLevelID); object[] inParameters = new object[] { levelDetailList[i].iLevelID }; DebugHelper.Assert(info3 != null, "Can't find LevelConfig = {0}", inParameters); bool bActive = (levelDetailList[i].levelStatus == 0) || !flag; bool flag3 = (levelDetailList[i].levelStatus == 1) && flag; int starNum = CAdventureSys.GetStarNum(levelDetailList[i].bStarBits); elemenet.transform.FindChild("Unlock/star1").GetComponent <Image>().color = (starNum < 1) ? CUIUtility.s_Color_GrayShader : Color.white; elemenet.transform.FindChild("Unlock/star2").GetComponent <Image>().color = (starNum < 2) ? CUIUtility.s_Color_GrayShader : Color.white; elemenet.transform.FindChild("Unlock/star3").GetComponent <Image>().color = (starNum < 3) ? CUIUtility.s_Color_GrayShader : Color.white; elemenet.transform.FindChild("TxtLevelNameText").GetComponent <Text>().text = Utility.UTF8Convert(info3.szName); if ((levelNo == (i + 1)) && !bActive) { elemenet.transform.FindChild("TxtLevelNameText").GetComponent <Text>().color = s_Adv_Level_Colors[0]; } else if (!bActive) { elemenet.transform.FindChild("TxtLevelNameText").GetComponent <Text>().color = s_Adv_Level_Colors[1]; } else { elemenet.transform.FindChild("TxtLevelNameText").GetComponent <Text>().color = s_Adv_Level_Colors[2]; } elemenet.transform.FindChild("SelectedFrame").GetComponent <Image>().color = s_Adv_Difficult_Color[difficulty - 1]; elemenet.transform.FindChild("SelectedFrame/Image1").GetComponent <Image>().color = s_Adv_Difficult_Color[((s_Adv_Difficult_Color.Length / 2) + difficulty) - 1]; elemenet.transform.FindChild("SelectedFrame/Image2").GetComponent <Image>().color = s_Adv_Difficult_Color[((s_Adv_Difficult_Color.Length / 2) + difficulty) - 1]; elemenet.transform.FindChild("SelectedFrame/SelectedFrame").GetComponent <Image>().SetSprite(prefab); elemenet.transform.FindChild("New").gameObject.CustomSetActive(flag3); elemenet.GetComponent <CUIEventScript>().m_onClickEventID = enUIEventID.Adv_SelectLevel; elemenet.GetComponent <CUIEventScript>().m_onClickEventParams.tag = i + 1; elemenet.transform.FindChild("Unlock").gameObject.CustomSetActive(!bActive); elemenet.transform.FindChild("Lock").gameObject.CustomSetActive(bActive); elemenet.m_selectedSprite = sprite; elemenet.GetComponent <Image>().SetSprite(((levelNo - 1) != i) ? elemenet.m_defaultSprite : sprite, elemenet.m_selectedLayout); } component.SelectElement(levelNo - 1, true); } }
public static void SetPvpLevelInfo(GameObject root) { root.transform.Find("PanelA/Award/Panel_PlayerExp/PvpLevelNode").gameObject.CustomSetActive(true); Text component = root.transform.Find("PanelA/Award/Panel_PlayerExp/PvpLevelNode/GameType").GetComponent <Text>(); Text text2 = root.transform.Find("PanelA/Award/Panel_PlayerExp/PvpLevelNode/PvpLevel").GetComponent <Text>(); string text = Singleton <CTextManager> .instance.GetText("Battle_Settle_Game_Type_Single"); string str2 = string.Empty; SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); DebugHelper.Assert(curLvelContext != null, "Battle Level Context is NULL!!"); uint iLevelID = (uint)curLvelContext.iLevelID; if (curLvelContext.isPVPLevel) { if (((curLvelContext.GameType == COM_GAME_TYPE.COM_MULTI_GAME_OF_PVP_MATCH) || (curLvelContext.GameType == COM_GAME_TYPE.COM_SINGLE_GAME_OF_COMBAT)) || ((curLvelContext.GameType == COM_GAME_TYPE.COM_MULTI_GAME_OF_PVP_ROOM) || (curLvelContext.GameType == COM_GAME_TYPE.COM_MULTI_GAME_OF_ENTERTAINMENT))) { ResAcntBattleLevelInfo dataByKey = GameDataMgr.pvpLevelDatabin.GetDataByKey(iLevelID); if (dataByKey == null) { ResCounterPartLevelInfo info2 = GameDataMgr.cpLevelDatabin.GetDataByKey(iLevelID); object[] inParameters = new object[] { iLevelID }; DebugHelper.Assert(info2 != null, "Failed find counterpart level config for id {0}", inParameters); str2 = Utility.UTF8Convert(info2.stLevelCommonInfo.szName); text = Singleton <CTextManager> .instance.GetText(string.Format("Battle_Settle_Game_Type{0}", info2.stLevelCommonInfo.bMaxAcntNum / 2)); } else { str2 = Utility.UTF8Convert(dataByKey.stLevelCommonInfo.szName); text = Singleton <CTextManager> .instance.GetText(string.Format("Battle_Settle_Game_Type{0}", dataByKey.stLevelCommonInfo.bMaxAcntNum / 2)); } } else if (curLvelContext.GameType == COM_GAME_TYPE.COM_MULTI_GAME_OF_LADDER) { ResRankLevelInfo info3 = GameDataMgr.rankLevelDatabin.GetDataByKey(iLevelID); DebugHelper.Assert(info3 != null); str2 = Utility.UTF8Convert(info3.stLevelCommonInfo.szName); text = Singleton <CTextManager> .instance.GetText(string.Format("Battle_Settle_Game_Type{0}", info3.stLevelCommonInfo.bMaxAcntNum / 2)); } } else if (curLvelContext.GameType == COM_GAME_TYPE.COM_SINGLE_GAME_OF_ARENA) { ResLevelCfgInfo info4 = GameDataMgr.arenaLevelDatabin.GetDataByKey((int)iLevelID); object[] objArray2 = new object[] { iLevelID }; DebugHelper.Assert(info4 != null, "Failed find level config for id {0}", objArray2); str2 = Utility.UTF8Convert(info4.szName); } else if (curLvelContext.GameType == COM_GAME_TYPE.COM_SINGLE_GAME_OF_COMBAT) { ResAcntBattleLevelInfo info5 = GameDataMgr.pvpLevelDatabin.GetDataByKey(iLevelID); object[] objArray3 = new object[] { iLevelID }; DebugHelper.Assert(info5 != null, "Failed find level config for id {0}", objArray3); str2 = Utility.UTF8Convert(info5.stLevelCommonInfo.szName); } component.text = text; text2.text = str2; }
private void _SetSingleGame(ResLevelCfgInfo levelCfg) { if (levelCfg == null) { return; } this._gameContextCommonData.MapId = levelCfg.iCfgID; this._gameContextCommonData.IsMobaGame = (levelCfg.iLevelType == 0); this._gameContextCommonData.SelectHeroType = enSelectType.enMutile; this._gameContextCommonData.LevelDifficulty = Math.Max(1, this._gameContextCommonData.LevelDifficulty); this._gameContextCommonData.HeroAiType = levelCfg.iHeroAIType; this._gameContextCommonData.SoulGrowActive = (levelCfg.bSoulGrow > 0); this._gameContextCommonData.BaseReviveTime = (int)levelCfg.dwReviveTime; this._gameContextCommonData.DynamicPropertyConfigId = levelCfg.dwDynamicPropertyCfg; this._gameContextCommonData.MiniMapPath = levelCfg.szThumbnailPath; this._gameContextCommonData.BigMapPath = levelCfg.szBigMapPath; this._gameContextCommonData.MapWidth = levelCfg.iMapWidth; this._gameContextCommonData.MapHeight = levelCfg.iMapHeight; this._gameContextCommonData.BigMapWidth = levelCfg.iBigMapWidth; this._gameContextCommonData.BigMapHeight = levelCfg.iBigMapHeight; this._gameContextCommonData.MapFOWScale = 1f; this._gameContextCommonData.BigMapFOWScale = 1f; this._gameContextCommonData.MapName = levelCfg.szName; this._gameContextCommonData.MapDesignFileName = levelCfg.szDesignFileName; this._gameContextCommonData.MapArtistFileName = levelCfg.szArtistFileName; this._gameContextCommonData.MusicStartEvent = levelCfg.szMusicStartEvent; this._gameContextCommonData.MusicEndEvent = levelCfg.szMusicEndEvent; this._gameContextCommonData.AmbientSoundEvent = levelCfg.szAmbientSoundEvent; this._gameContextCommonData.MusicBankResName = levelCfg.szBankResourceName; this._gameContextCommonData.HorizonEnableMethod = (Horizon.EnableMethod)((!this._gameContextCommonData.IsMobaGame) ? levelCfg.bEnableHorizon : 1); this._gameContextCommonData.SoulId = levelCfg.dwSoulID; this._gameContextCommonData.SoulAllocId = levelCfg.dwSoulAllocId; this._gameContextCommonData.ExtraMapSkillId = levelCfg.iExtraSkillId; this._gameContextCommonData.ExtraMapSkill2Id = levelCfg.iExtraSkill2Id; this._gameContextCommonData.ExtraPassiveSkillId = levelCfg.iExtraPassiveSkillId; this._gameContextCommonData.OrnamentSkillId = 0; this._gameContextCommonData.OrnamentSwitchCd0 = 0; this._gameContextCommonData.EnableFOW = false; this._gameContextCommonData.EnableShopHorizonTab = false; this._gameContextCommonData.EnableOrnamentSlot = false; this._gameContextCommonData.CanRightJoyStickCameraDrag = (levelCfg.bSupportCameraDrag > 0); this._gameContextCommonData.CameraFlip = false; this._gameContextSoloData.IsValid = true; this._gameContextSoloData.PveLevelType = levelCfg.iLevelType; this._gameContextSoloData.ChapterNo = levelCfg.iChapterId; this._gameContextSoloData.LevelNo = (int)levelCfg.bLevelNo; this._gameContextSoloData.FinDialogId = levelCfg.iPassDialogId; this._gameContextSoloData.PreDialogId = levelCfg.iPreDialogId; this._gameContextSoloData.FailureDialogId = levelCfg.iFailureDialogId; this._gameContextSoloData.IsShowTrainingHelper = (levelCfg.bShowTrainingHelper > 0); this._gameContextSoloData.CanAutoGame = (levelCfg.bIsOpenAutoAI == 0); this._gameContextSoloData.ReviveTimeMax = (int)levelCfg.bReviveTimeMax; this._gameContextSoloData.LoseCondition = levelCfg.iLoseCondition; this._gameContextSoloData.MapBuffs = levelCfg.astMapBuffs; this._gameContextSoloData.StarDetail = levelCfg.astStarDetail; this._gameContextSoloData.ReviveInfo = levelCfg.astReviveInfo; }
private static void SetReward(CUIFormScript formScript, GameObject itemCell, ResLevelCfgInfo resLevelInfo, int difficulty) { ResDT_PveRewardShowInfo info = resLevelInfo.astRewardShowDetail[difficulty - 1]; CUseable itemUseable = CUseableManager.CreateUseable((COM_ITEM_TYPE)info.bRewardType, info.dwRewardID, 0); if (itemUseable != null) { CUICommonSystem.SetItemCell(formScript, itemCell, itemUseable, true, false); } }
private void InitFromView(CUIFormScript formScript) { SLevelContext curLvelContext = Singleton <BattleLogic> .GetInstance().GetCurLvelContext(); ResLevelCfgInfo dataByKey = GameDataMgr.levelDatabin.GetDataByKey(curLvelContext.iLevelID); this.InitBuffItem(formScript, curLvelContext, dataByKey); this.m_relivePayType = CMallSystem.ResBuyTypeToPayType(dataByKey.astReviveInfo[curLvelContext.difficulty].astReviveCost[3 - m_iRemainReviveNum].bCostType); this.m_relivePayValue = dataByKey.astReviveInfo[curLvelContext.difficulty].astReviveCost[3 - m_iRemainReviveNum].dwCostPrice; string str = string.Format(Singleton <CTextManager> .GetInstance().GetText("ReliveMessage"), Singleton <CTextManager> .GetInstance().GetText(CMallSystem.s_payTypeNameKeys[(int)this.m_relivePayType])); GameObject widget = formScript.GetWidget(0); if (widget != null) { Text component = widget.GetComponent <Text>(); if (component != null) { component.text = str; } } GameObject obj3 = formScript.GetWidget(1); if (obj3 != null) { Image image = obj3.GetComponent <Image>(); if (image != null) { image.SetSprite(CMallSystem.GetPayTypeIconPath(this.m_relivePayType), formScript, true, false, false); } } GameObject obj4 = formScript.GetWidget(2); if (obj4 != null) { Text text2 = obj4.GetComponent <Text>(); if (text2 != null) { text2.text = this.m_relivePayValue.ToString(); } } GameObject gameObject = this.m_form.transform.Find("buffInfoPanel").gameObject; if (gameObject != null) { GameObject obj6 = gameObject.transform.Find("ReviveText/NumText").gameObject; if (obj6 != null) { obj6.GetComponent <Text>().text = m_iRemainReviveNum.ToString(); CUITimerScript script = gameObject.transform.Find("Timer").GetComponent <CUITimerScript>(); byte bReviveTimeMax = dataByKey.bReviveTimeMax; script.SetTotalTime((float)bReviveTimeMax); } } }
public static void InitLevelForm(CUIFormScript formScript, int chapterNo, int LevelNo, int difficulty) { CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo(); if (masterRoleInfo == null) { return; } PVE_ADV_COMPLETE_INFO pVE_ADV_COMPLETE_INFO = masterRoleInfo.pveLevelDetail[difficulty - 1]; PVE_LEVEL_COMPLETE_INFO pVE_LEVEL_COMPLETE_INFO = pVE_ADV_COMPLETE_INFO.ChapterDetailList[chapterNo - 1].LevelDetailList[LevelNo - 1]; GameObject gameObject = formScript.gameObject; ResLevelCfgInfo dataByKey = GameDataMgr.levelDatabin.GetDataByKey((long)pVE_LEVEL_COMPLETE_INFO.iLevelID); if (dataByKey != null) { string text = StringHelper.UTF8BytesToString(ref dataByKey.szName); formScript.transform.Find("PanelLeft/DifficultText").GetComponent <Text>().text = Singleton <CTextManager> .get_instance().GetText(string.Format("Adventure_Level_{0}", difficulty)); formScript.transform.Find("Panel_Main/ImgMapNameBg/MapNameText").GetComponent <Text>().text = text; formScript.transform.Find("PanelLeft/MapNameText").GetComponent <Text>().text = text; formScript.transform.Find("PanelLeft/MapDescText").GetComponent <Text>().text = StringHelper.UTF8BytesToString(ref dataByKey.szLevelDesc); formScript.transform.Find("PanelLeft/RecPlayerLvlText").GetComponent <Text>().text = Singleton <CTextManager> .get_instance().GetText("Level_Recommend_Tips_1", new string[] { dataByKey.RecommendLevel[difficulty - 1].ToString() }); formScript.transform.Find("PanelLeft/ChapterImg").GetComponent <Image>().SetSprite(CAdventureView.GetLevelBgPath(chapterNo, LevelNo, difficulty), formScript, true, false, false, false); formScript.transform.Find("PanelLeft/DifficultImg").GetComponent <Image>().SetSprite(CAdventureView.GetDifficultIcon(difficulty), formScript, true, false, false, false); for (int i = 1; i <= CAdventureSys.STAR_PER_LEVEL; i++) { GameObject gameObject2 = gameObject.transform.Find("PanelRight/WinCondition" + i).gameObject; CAdventureView.SetStarConditionDesc(formScript, gameObject2, (uint)dataByKey.astStarDetail[i - 1].iParam, CAdventureSys.IsStarGained(pVE_LEVEL_COMPLETE_INFO.bStarBits, i)); } GameObject gameObject3 = gameObject.transform.Find("PanelRight/itemCell").gameObject; CAdventureView.SetReward(formScript, gameObject3, dataByKey, difficulty); GameObject gameObject4 = gameObject.transform.Find("PanelRight/HeroList").gameObject; int num = 0; List <uint> heroListForBattleListID = Singleton <CHeroSelectBaseSystem> .get_instance().GetHeroListForBattleListID(dataByKey.dwBattleListID); CAdventureView.SetTeamHeroList(gameObject4, heroListForBattleListID, out num); GameObject gameObject5 = gameObject.transform.Find("BtnStart").gameObject; CAdventureView.SetStartBtnEnable(gameObject5, heroListForBattleListID); formScript.gameObject.transform.FindChild("Bg").gameObject.GetComponent <Image>().color = CAdventureView.s_Adv_Difficult_Bg_Color[difficulty - 1]; } else { DebugHelper.Assert(false, "Can't find level info -- id: {0}", new object[] { pVE_LEVEL_COMPLETE_INFO.iLevelID }); } }
public void Init(ResLevelCfgInfo levelCfg, int difficult) { this.LevelName = StringHelper.UTF8BytesToString(ref levelCfg.szName); this.LevelDesignFileName = StringHelper.UTF8BytesToString(ref levelCfg.szDesignFileName); if ((levelCfg.szArtistFileName != null) && (levelCfg.szArtistFileName.Length > 0)) { this.LevelArtistFileName = StringHelper.UTF8BytesToString(ref levelCfg.szArtistFileName); } this.iLevelID = levelCfg.iCfgID; this.iChapterNo = levelCfg.iChapterId; this.bLevelNo = levelCfg.bLevelNo; this.difficulty = difficult; this.LevelType = (RES_LEVEL_TYPE)levelCfg.iLevelType; if (this.LevelType == RES_LEVEL_TYPE.RES_LEVEL_TYPE_GUIDE) { this.GameType = COM_GAME_TYPE.COM_SINGLE_GAME_OF_GUIDE; } this.PassDialogId = levelCfg.iPassDialogId; this.PreDialogId = levelCfg.iPreDialogId; this.FailureDialogId = levelCfg.iFailureDialogId; this.AIModeType = (RES_LEVEL_HEROAITYPE)levelCfg.iHeroAIType; this.bSoulGrow = levelCfg.bSoulGrow; this.dwAttackOrder = levelCfg.dwAttackOrderID; this.baseReviveTime = (int)levelCfg.dwReviveTime; this.dynamicPropertyConfig = levelCfg.dwDynamicPropertyCfg; this.isPVPMode = this.LevelType == RES_LEVEL_TYPE.RES_LEVEL_TYPE_PVP; this.miniMapPath = StringHelper.UTF8BytesToString(ref levelCfg.szThumbnailPath); this.bigMapPath = StringHelper.UTF8BytesToString(ref levelCfg.szBigMapPath); this.mapPath = StringHelper.UTF8BytesToString(ref levelCfg.szMapPath); this.mapWidth = levelCfg.iMapWidth; this.mapHeight = levelCfg.iMapHeight; this.bigMapWidth = levelCfg.iBigMapWidth; this.bigMapHeight = levelCfg.iBigMapHeight; this.musicStartEvent = StringHelper.UTF8BytesToString(ref levelCfg.szMusicStartEvent); this.musicEndEvent = StringHelper.UTF8BytesToString(ref levelCfg.szMusicEndEvent); this.ambientSoundEvent = StringHelper.UTF8BytesToString(ref levelCfg.szAmbientSoundEvent); this.bankResName = StringHelper.UTF8BytesToString(ref levelCfg.szBankResourceName); this.horizonEnableMethod = (Horizon.EnableMethod)levelCfg.bEnableHorizon; if (this.isPVPMode) { this.horizonEnableMethod = Horizon.EnableMethod.EnableAll; } this.canAutoAI = levelCfg.bIsOpenAutoAI != 0; this.MapBuffs = levelCfg.astMapBuffs; if ((difficult >= 1) && (difficult < (levelCfg.RecommendPower.Length + 1))) { this.recommendCombatEft = levelCfg.RecommendPower[difficult - 1]; } this.bCameraFlip = false; }
internal DynamicAttributeInfo ConsiderOrganDynamicInfo(ResOrganCfgInfo organCfg) { int num = 0; DynamicAttributeInfo result = null; if (organCfg.iDynamicInfoType == 1) { SLevelContext curLvelContext = Singleton <BattleLogic> .get_instance().GetCurLvelContext(); if (curLvelContext != null && !curLvelContext.IsMobaMode()) { ResLevelCfgInfo dataByKey = GameDataMgr.levelDatabin.GetDataByKey((long)curLvelContext.m_mapID); if (dataByKey == null) { base.ErrorMissingLevelConfig((uint)curLvelContext.m_mapID); return(null); } if (curLvelContext.m_pveLevelType == null) { num = (int)dataByKey.dwAIPlayerLevel; } } } if (num <= 0) { return(null); } ResMonsterOrganLevelDynamicInfo dataByKey2 = GameDataMgr.monsterOrganLvDynamicInfobin.GetDataByKey((long)num); if (dataByKey2 == null) { return(null); } switch (organCfg.bOrganType) { case 1: result = dataByKey2.stTurret; break; case 2: result = dataByKey2.stBase; break; case 3: result = dataByKey2.stBarrack; break; } return(result); }
private void On_Burn_Challenge(CUIEvent uievent) { CSDT_SINGLE_GAME_OF_BURNING reportInfo = BurnExpeditionUT.Create_CSDT_SINGLE_GAME_OF_BURNING(this.model.curSelect_LevelIndex); ResLevelCfgInfo info = BurnExpeditionUT.Get_LevelConfigInfo(Singleton <BurnExpeditionController> .instance.model.curSelect_LevelIndex); DebugHelper.Assert(info != null); if (info != null) { byte iHeroNum = (byte)info.iHeroNum; uint dwBattleListID = info.dwBattleListID; Singleton <CHeroSelectBaseSystem> .instance.SetPVEDataWithBurnExpedition(dwBattleListID, reportInfo, StringHelper.UTF8BytesToString(ref info.szName)); Singleton <CHeroSelectBaseSystem> .instance.OpenForm(enSelectGameType.enBurning, iHeroNum, 0, 0, 0); } }
public static ResDT_LevelCommonInfo FindLevelConfigMultiGame(int levelId) { ResDT_LevelCommonInfo stLevelCommonInfo = null; SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); if (curLvelContext != null) { if (((curLvelContext.GameType == COM_GAME_TYPE.COM_MULTI_GAME_OF_PVP_MATCH) || (curLvelContext.GameType == COM_GAME_TYPE.COM_SINGLE_GAME_OF_COMBAT)) || ((curLvelContext.GameType == COM_GAME_TYPE.COM_MULTI_GAME_OF_PVP_ROOM) || (curLvelContext.GameType == COM_GAME_TYPE.COM_MULTI_GAME_OF_ENTERTAINMENT))) { ResAcntBattleLevelInfo dataByKey = GameDataMgr.pvpLevelDatabin.GetDataByKey(levelId); ResCounterPartLevelInfo info4 = null; if (dataByKey == null) { info4 = GameDataMgr.cpLevelDatabin.GetDataByKey(levelId); object[] inParameters = new object[] { levelId }; DebugHelper.Assert(info4 != null, "Failed find counterpart level config for id {0}", inParameters); return(info4.stLevelCommonInfo); } return(dataByKey.stLevelCommonInfo); } if (curLvelContext.GameType == COM_GAME_TYPE.COM_MULTI_GAME_OF_LADDER) { ResRankLevelInfo info5 = GameDataMgr.rankLevelDatabin.GetDataByKey(levelId); if (info5 != null) { stLevelCommonInfo = info5.stLevelCommonInfo; } return(stLevelCommonInfo); } if (curLvelContext.GameType == COM_GAME_TYPE.COM_MULTI_GAME_OF_REWARDMATCH) { ResRewardMatchLevelInfo info6 = GameDataMgr.uinionBattleLevelDatabin.GetDataByKey(levelId); if (info6 != null) { stLevelCommonInfo = info6.stLevelCommonInfo; } return(stLevelCommonInfo); } if (curLvelContext.GameType == COM_GAME_TYPE.COM_SINGLE_GAME_OF_GUIDE) { ResLevelCfgInfo info7 = GameDataMgr.levelDatabin.GetDataByKey(levelId); stLevelCommonInfo = new ResDT_LevelCommonInfo { bMaxAcntNum = info7.bMaxAcntNum }; } } return(stLevelCommonInfo); }
protected override string Execute(string[] InArguments, ref CSDT_CHEATCMD_DETAIL CheatCmdRef) { int Chapter = CheatCommandBase.SmartConvert <int>(InArguments[0]); int No = CheatCommandBase.SmartConvert <int>(InArguments[1]); ELevelTypeTag eLevelTypeTag = CheatCommandBase.SmartConvert <ELevelTypeTag>(InArguments[2]); CheatCmdRef.stUnlockLevel = new CSDT_CHEAT_UNLOCK_LEVEL(); RES_LEVEL_DIFFICULTY_TYPE DiffType = (eLevelTypeTag == ELevelTypeTag.普通) ? RES_LEVEL_DIFFICULTY_TYPE.RES_LEVEL_DIFFICULTY_TYPE_NORMAL : RES_LEVEL_DIFFICULTY_TYPE.RES_LEVEL_DIFFICULTY_TYPE_NIGHTMARE; ResLevelCfgInfo resLevelCfgInfo = GameDataMgr.levelDatabin.FindIf((ResLevelCfgInfo x) => x.iChapterId == Chapter && (int)x.bLevelNo == No && x.bLevelDifficulty == (byte)DiffType); if (resLevelCfgInfo != null) { CheatCmdRef.stUnlockLevel.iLevelID = resLevelCfgInfo.iCfgID; return(CheatCommandBase.Done); } return(string.Format("未找到 {2} {0}-{1}对应地图配置", Chapter, No, eLevelTypeTag.ToString())); }
public static SLevelContext CreatePveLevelContext(SCPKG_STARTSINGLEGAMERSP InMessage) { SLevelContext context = new SLevelContext(); context.SetGameType((COM_GAME_TYPE)InMessage.bGameType); ResLevelCfgInfo pveMapInfo = GetPveMapInfo(InMessage.bGameType, InMessage.iLevelId); if (InMessage.bGameType == 2) { context.InitPveData(pveMapInfo, 1); if (pveMapInfo.bGuideLevelSubType == 0) { context.m_isMobaType = true; return(context); } if (pveMapInfo.bGuideLevelSubType == 1) { context.m_isMobaType = false; } return(context); } if (InMessage.bGameType == 0) { context.InitPveData(pveMapInfo, Singleton <CAdventureSys> .instance.currentDifficulty); return(context); } if (InMessage.bGameType == 7) { context.InitPveData(pveMapInfo, 1); return(context); } if (InMessage.bGameType == 8) { context.InitPveData(pveMapInfo, 1); return(context); } if ((InMessage.bGameType != 3) && (InMessage.bGameType == 1)) { byte bMapType = InMessage.stGameParam.stSingleGameRspOfCombat.bMapType; uint dwMapId = InMessage.stGameParam.stSingleGameRspOfCombat.dwMapId; context = CreatePvpLevelContext(bMapType, dwMapId, (COM_GAME_TYPE)InMessage.bGameType, 1); context.m_isWarmBattle = Convert.ToBoolean(InMessage.stGameParam.stSingleGameRspOfCombat.bIsWarmBattle); context.SetWarmHeroAiDiff(InMessage.stGameParam.stSingleGameRspOfCombat.bAILevel); } return(context); }
internal DynamicAttributeInfo ConsiderOrganDynamicInfo(ResOrganCfgInfo organCfg) { int dwAIPlayerLevel = 0; if (organCfg.iDynamicInfoType == 1) { SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); if ((curLvelContext != null) && !curLvelContext.IsMobaMode()) { ResLevelCfgInfo info2 = GameDataMgr.levelDatabin.GetDataByKey((long)curLvelContext.m_mapID); if (info2 == null) { base.ErrorMissingLevelConfig((uint)curLvelContext.m_mapID); return(null); } if (curLvelContext.m_pveLevelType == RES_LEVEL_TYPE.RES_LEVEL_TYPE_PVP) { dwAIPlayerLevel = (int)info2.dwAIPlayerLevel; } } } if (dwAIPlayerLevel <= 0) { return(null); } ResMonsterOrganLevelDynamicInfo dataByKey = GameDataMgr.monsterOrganLvDynamicInfobin.GetDataByKey((long)dwAIPlayerLevel); if (dataByKey == null) { return(null); } switch (organCfg.bOrganType) { case 1: return(dataByKey.stTurret); case 2: return(dataByKey.stBase); case 3: return(dataByKey.stBarrack); } return(null); }
public static void InitLevelForm(CUIFormScript formScript, int chapterNo, int LevelNo, int difficulty) { CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo(); if (masterRoleInfo != null) { PVE_ADV_COMPLETE_INFO pve_adv_complete_info = masterRoleInfo.pveLevelDetail[difficulty - 1]; PVE_LEVEL_COMPLETE_INFO pve_level_complete_info = pve_adv_complete_info.ChapterDetailList[chapterNo - 1].LevelDetailList[LevelNo - 1]; GameObject gameObject = formScript.gameObject; ResLevelCfgInfo dataByKey = GameDataMgr.levelDatabin.GetDataByKey(pve_level_complete_info.iLevelID); if (dataByKey != null) { string str = StringHelper.UTF8BytesToString(ref dataByKey.szName); formScript.transform.Find("PanelLeft/DifficultText").GetComponent <Text>().text = Singleton <CTextManager> .instance.GetText(string.Format("Adventure_Level_{0}", difficulty)); formScript.transform.Find("Panel_Main/ImgMapNameBg/MapNameText").GetComponent <Text>().text = str; formScript.transform.Find("PanelLeft/MapNameText").GetComponent <Text>().text = str; formScript.transform.Find("PanelLeft/MapDescText").GetComponent <Text>().text = StringHelper.UTF8BytesToString(ref dataByKey.szLevelDesc); string[] args = new string[] { dataByKey.RecommendLevel[difficulty - 1].ToString() }; formScript.transform.Find("PanelLeft/RecPlayerLvlText").GetComponent <Text>().text = Singleton <CTextManager> .instance.GetText("Level_Recommend_Tips_1", args); formScript.transform.Find("PanelLeft/ChapterImg").GetComponent <Image>().SetSprite(GetLevelBgPath(chapterNo, LevelNo, difficulty), formScript, true, false, false); formScript.transform.Find("PanelLeft/DifficultImg").GetComponent <Image>().SetSprite(GetDifficultIcon(difficulty), formScript, true, false, false); for (int i = 1; i <= CAdventureSys.STAR_PER_LEVEL; i++) { GameObject descCon = gameObject.transform.Find("PanelRight/WinCondition" + i).gameObject; SetStarConditionDesc(formScript, descCon, (uint)dataByKey.astStarDetail[i - 1].iParam, CAdventureSys.IsStarGained(pve_level_complete_info.bStarBits, i)); } GameObject itemCell = gameObject.transform.Find("PanelRight/itemCell").gameObject; SetReward(formScript, itemCell, dataByKey, difficulty); GameObject obj5 = gameObject.transform.Find("PanelRight/HeroList").gameObject; int teamPower = 0; List <uint> heroListForBattleListID = Singleton <CHeroSelectSystem> .GetInstance().GetHeroListForBattleListID(dataByKey.dwBattleListID); SetTeamHeroList(obj5, heroListForBattleListID, out teamPower); SetStartBtnEnable(gameObject.transform.Find("BtnStart").gameObject, heroListForBattleListID); formScript.GetComponent <Image>().color = s_Adv_Difficult_Bg_Color[difficulty - 1]; } else { object[] inParameters = new object[] { pve_level_complete_info.iLevelID }; DebugHelper.Assert(false, "Can't find level info -- id: {0}", inParameters); } } }
private void On_Burn_Challenge(CUIEvent uievent) { CSDT_SINGLE_GAME_OF_BURNING reportInfo = BurnExpeditionUT.Create_CSDT_SINGLE_GAME_OF_BURNING(this.model.curSelect_LevelIndex); ResLevelCfgInfo info = BurnExpeditionUT.Get_LevelConfigInfo(Singleton <BurnExpeditionController> .instance.model.curSelect_LevelIndex); DebugHelper.Assert(info != null); if (info != null) { byte iHeroNum = (byte)info.iHeroNum; uint dwBattleListID = info.dwBattleListID; Singleton <CHeroSelectSystem> .GetInstance().SetPVEDataWithBurnExpedition(iHeroNum, dwBattleListID, reportInfo, StringHelper.UTF8BytesToString(ref info.szName)); stUIEventParams par = new stUIEventParams { heroSelectGameType = enSelectHeroType.enBurning }; Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(enUIEventID.HeroSelect_OpenForm, par); } }
public static SLevelContext CreatePveLevelContext(SCPKG_STARTSINGLEGAMERSP InMessage) { SLevelContext sLevelContext = new SLevelContext(); sLevelContext.SetGameType(InMessage.bGameType); ResLevelCfgInfo pveMapInfo = CLevelCfgLogicManager.GetPveMapInfo(InMessage.bGameType, InMessage.iLevelId); if (InMessage.bGameType == 2) { sLevelContext.InitPveData(pveMapInfo, 1); if (pveMapInfo.bGuideLevelSubType == 0) { sLevelContext.m_isMobaType = true; } else if (pveMapInfo.bGuideLevelSubType == 1) { sLevelContext.m_isMobaType = false; } } else if (InMessage.bGameType == 0) { sLevelContext.InitPveData(pveMapInfo, Singleton <CAdventureSys> .get_instance().currentDifficulty); } else if (InMessage.bGameType == 7) { sLevelContext.InitPveData(pveMapInfo, 1); } else if (InMessage.bGameType == 8) { sLevelContext.InitPveData(pveMapInfo, 1); } else if (InMessage.bGameType != 3) { if (InMessage.bGameType == 1) { byte bMapType = InMessage.stGameParam.get_stSingleGameRspOfCombat().bMapType; uint dwMapId = InMessage.stGameParam.get_stSingleGameRspOfCombat().dwMapId; sLevelContext = CLevelCfgLogicManager.CreatePvpLevelContext(bMapType, dwMapId, InMessage.bGameType, 1); sLevelContext.m_isWarmBattle = Convert.ToBoolean(InMessage.stGameParam.get_stSingleGameRspOfCombat().bIsWarmBattle); sLevelContext.SetWarmHeroAiDiff(InMessage.stGameParam.get_stSingleGameRspOfCombat().bAILevel); } } return(sLevelContext); }
public bool Reset(int LevelID, bool bMultiGame) { this.Clear(); ResDT_LevelCommonInfo outLevelComInfo = null; if (bMultiGame) { outLevelComInfo = CLevelCfgLogicManager.FindLevelConfigMultiGame(LevelID); } else { ResLevelCfgInfo outLevelCfg = null; CLevelCfgLogicManager.FindLevelConfigSingleGame(LevelID, out outLevelCfg, out outLevelComInfo); } bool flag = false; if (outLevelComInfo != null) { this.CurLevelTimeDuration = outLevelComInfo.dwTimeDuration; if (outLevelComInfo.dwAddWinCondStarId != 0) { ResEvaluateStarInfo dataByKey = GameDataMgr.addWinLoseCondDatabin.GetDataByKey(outLevelComInfo.dwAddWinCondStarId); DebugHelper.Assert(dataByKey != null); if (dataByKey != null) { this.WinnerEvaluation = this.CreateStar(dataByKey); DebugHelper.Assert(this.WinnerEvaluation != null, "我擦,怎会没有?"); flag = true; } } if (outLevelComInfo.dwAddLoseCondStarId != 0) { ResEvaluateStarInfo conditionDetail = GameDataMgr.addWinLoseCondDatabin.GetDataByKey(outLevelComInfo.dwAddLoseCondStarId); DebugHelper.Assert(conditionDetail != null); if (conditionDetail != null) { this.LoserEvaluation = this.CreateStar(conditionDetail); DebugHelper.Assert(this.LoserEvaluation != null, "我擦,怎会没有?"); flag = true; } } } return(flag); }
public void OnLinkPveClick(CUIEvent uiEvent) { uint taskId = uiEvent.m_eventParams.taskId; uiEvent.m_eventID = enUIEventID.Adv_OpenChapterForm; ResTask dataByKey = GameDataMgr.taskDatabin.GetDataByKey(taskId); int num = 0; for (int i = 0; i < dataByKey.astPrerequisiteArray.Length; i++) { if (dataByKey.astPrerequisiteArray[i].dwPrerequisiteType == 2u) { num = dataByKey.astPrerequisiteArray[i].astPrerequisiteParam[1].iParam; break; } } if (num == 0) { Singleton <CAdventureSys> .get_instance().currentChapter = 1; Singleton <CAdventureSys> .get_instance().currentLevelSeq = 1; Singleton <CAdventureSys> .get_instance().currentDifficulty = 1; Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(uiEvent); } else { ResLevelCfgInfo dataByKey2 = GameDataMgr.levelDatabin.GetDataByKey((long)num); DebugHelper.Assert(dataByKey2 != null); if (dataByKey2 != null) { Singleton <CAdventureSys> .get_instance().currentChapter = dataByKey2.iChapterId; Singleton <CAdventureSys> .get_instance().currentLevelSeq = (int)dataByKey2.bLevelNo; Singleton <CAdventureSys> .get_instance().currentDifficulty = uiEvent.m_eventParams.tag; Singleton <CUIEventManager> .GetInstance().DispatchUIEvent(uiEvent); } } }
public static void FindLevelConfigSingleGame(int levelId, out ResLevelCfgInfo outLevelCfg, out ResDT_LevelCommonInfo outLevelComInfo) { outLevelCfg = null; outLevelComInfo = null; SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); if (curLvelContext.GameType == COM_GAME_TYPE.COM_SINGLE_GAME_OF_COMBAT) { ResAcntBattleLevelInfo dataByKey = GameDataMgr.pvpLevelDatabin.GetDataByKey(levelId); ResDT_LevelCommonInfo stLevelCommonInfo = null; ResCounterPartLevelInfo info3 = null; if (dataByKey == null) { info3 = GameDataMgr.cpLevelDatabin.GetDataByKey(levelId); object[] inParameters = new object[] { levelId }; DebugHelper.Assert(info3 != null, "Failed find counterpart level config for id {0}", inParameters); stLevelCommonInfo = info3.stLevelCommonInfo; } else { stLevelCommonInfo = dataByKey.stLevelCommonInfo; } outLevelComInfo = stLevelCommonInfo; } else if (curLvelContext.GameType == COM_GAME_TYPE.COM_SINGLE_GAME_OF_ARENA) { ResLevelCfgInfo info4 = GameDataMgr.arenaLevelDatabin.GetDataByKey(levelId); outLevelCfg = info4; } else if (curLvelContext.GameType == COM_GAME_TYPE.COM_SINGLE_GAME_OF_BURNING) { ResLevelCfgInfo info5 = GameDataMgr.burnMap.GetDataByKey(levelId); outLevelCfg = info5; } else { ResLevelCfgInfo info6 = GameDataMgr.levelDatabin.GetDataByKey(levelId); outLevelCfg = info6; } }
public bool CheckUnlock(uint id) { bool result = false; ResUnlockCondition dataByKey = GameDataMgr.unlockConditionDatabin.GetDataByKey(id); DebugHelper.Assert(dataByKey != null, "ResUnlockCondition[{0}] can not be find.", new object[] { id }); CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .instance.GetMasterRoleInfo(); DebugHelper.Assert(masterRoleInfo != null, "roleinfo can't be null in CheckUnlock"); if (masterRoleInfo != null && dataByKey != null) { switch (dataByKey.wUnlockType) { case 1: result = (masterRoleInfo.PvpLevel >= dataByKey.UnlockParam[0]); break; case 2: { int num = (int)dataByKey.UnlockParam[0]; int num2 = (int)dataByKey.UnlockParam[1]; int num3 = 0; ResLevelCfgInfo dataByKey2 = GameDataMgr.levelDatabin.GetDataByKey((long)num); DebugHelper.Assert(dataByKey2 != null, "can't find level = {0}", new object[] { num }); if (dataByKey2 != null && dataByKey2 != null && masterRoleInfo.pveLevelDetail[num3] != null && masterRoleInfo.pveLevelDetail[num3].ChapterDetailList[dataByKey2.iChapterId - 1] != null) { PVE_CHAPTER_COMPLETE_INFO pVE_CHAPTER_COMPLETE_INFO = masterRoleInfo.pveLevelDetail[num3].ChapterDetailList[dataByKey2.iChapterId - 1]; for (int i = 0; i < pVE_CHAPTER_COMPLETE_INFO.LevelDetailList.Length; i++) { PVE_LEVEL_COMPLETE_INFO pVE_LEVEL_COMPLETE_INFO = pVE_CHAPTER_COMPLETE_INFO.LevelDetailList[i]; if (pVE_LEVEL_COMPLETE_INFO != null && pVE_LEVEL_COMPLETE_INFO.iLevelID == num) { bool arg_178_0 = pVE_LEVEL_COMPLETE_INFO.levelStatus == 1 && num2 <= CAdventureSys.GetStarNum(pVE_LEVEL_COMPLETE_INFO.bStarBits); break; } } } result = true; break; } case 4: { uint num4 = 0u; if (masterRoleInfo.pvpDetail != null) { num4 = masterRoleInfo.pvpDetail.stOneVsOneInfo.dwTotalNum + masterRoleInfo.pvpDetail.stTwoVsTwoInfo.dwTotalNum + masterRoleInfo.pvpDetail.stThreeVsThreeInfo.dwTotalNum; } result = (dataByKey.UnlockParam[0] <= num4 && dataByKey.UnlockParam[1] <= masterRoleInfo.PvpLevel); break; } } } return(result); }
public override void Init() { base.Init(); this.talentSystem = new TalentSystem(); this.talentSystem.Init(base.actorPtr); this.stSkillStat = new CSkillStat(); if (this.stSkillStat != null) { this.stSkillStat.Initialize(base.actorPtr); this.InitRandomSkill(); IGameActorDataProvider actorDataProvider = Singleton <ActorDataCenter> .instance.GetActorDataProvider(GameActorDataProviderType.StaticBattleDataProvider); IGameActorDataProvider provider2 = Singleton <ActorDataCenter> .instance.GetActorDataProvider(GameActorDataProviderType.ServerDataProvider); ActorStaticSkillData skillData = new ActorStaticSkillData(); for (int i = 0; i < 7; i++) { ResDT_LevelCommonInfo info4; if (i == 6) { SLevelContext context = Singleton <BattleLogic> .GetInstance().GetCurLvelContext(); if (context.GameType == COM_GAME_TYPE.COM_SINGLE_GAME_OF_GUIDE) { if (context.iLevelID == CBattleGuideManager.GuideLevelID5v5) { goto Label_00DF; } continue; } ResDT_LevelCommonInfo info = null; info = CLevelCfgLogicManager.FindLevelConfigMultiGame(context.iLevelID); if ((info == null) || (info.bMaxAcntNum != 10)) { continue; } } Label_00DF: if (((i != 4) && (i != 6)) || (base.actor.TheActorMeta.ActorType != ActorTypeDef.Actor_Type_Hero)) { goto Label_0284; } SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); if (curLvelContext == null) { continue; } int iLevelID = curLvelContext.iLevelID; if (iLevelID <= 0) { continue; } if (Singleton <LobbyLogic> .instance.inMultiGame) { goto Label_0214; } ResLevelCfgInfo outLevelCfg = null; ResDT_LevelCommonInfo outLevelComInfo = null; CLevelCfgLogicManager.FindLevelConfigSingleGame(iLevelID, out outLevelCfg, out outLevelComInfo); if (outLevelComInfo == null) { goto Label_01AD; } int iExtraSkillId = outLevelComInfo.iExtraSkillId; if (i == 6) { iExtraSkillId = outLevelComInfo.iExtraSkill2Id; if (iExtraSkillId > 0) { goto Label_0185; } continue; } this.CreateTalent(outLevelComInfo.iExtraPassiveSkillId); Label_0185: this.InitSkillSlot(i, iExtraSkillId, 0); SkillSlot slot = this.SkillSlotArray[i]; if (slot != null) { slot.SetSkillLevel(1); } continue; Label_01AD: if (outLevelCfg == null) { continue; } int num4 = outLevelCfg.iExtraSkillId; if (i == 6) { num4 = outLevelCfg.iExtraSkill2Id; if (num4 > 0) { goto Label_01EC; } continue; } this.CreateTalent(outLevelCfg.iExtraPassiveSkillId); Label_01EC: this.InitSkillSlot(i, num4, 0); SkillSlot slot2 = this.SkillSlotArray[i]; if (slot2 != null) { slot2.SetSkillLevel(1); } continue; Label_0214: info4 = CLevelCfgLogicManager.FindLevelConfigMultiGame(iLevelID); if (info4 == null) { continue; } int num5 = info4.iExtraSkillId; if (i == 6) { num5 = info4.iExtraSkill2Id; if (num5 > 0) { goto Label_025C; } continue; } this.CreateTalent(info4.iExtraPassiveSkillId); Label_025C: this.InitSkillSlot(i, num5, 0); SkillSlot slot3 = this.SkillSlotArray[i]; if (slot3 != null) { slot3.SetSkillLevel(1); } continue; Label_0284: if (actorDataProvider.GetActorStaticSkillData(ref base.actor.TheActorMeta, (ActorSkillSlot)i, ref skillData)) { this.InitSkillSlot(i, skillData.SkillId, skillData.PassiveSkillId); if (((i > 3) || (i < 1)) || (!Singleton <BattleLogic> .GetInstance().m_GameInfo.gameContext.IsSoulGrow() || (base.actor.TheActorMeta.ActorType != ActorTypeDef.Actor_Type_Hero))) { SkillSlot slot4 = this.SkillSlotArray[i]; if (slot4 != null) { slot4.SetSkillLevel(1); } } } } uint skillID = 0; if (provider2.GetActorServerCommonSkillData(ref base.actor.TheActorMeta, out skillID)) { int num7 = 5; if (skillID != 0) { this.InitSkillSlot(num7, (int)skillID, 0); SkillSlot slot5 = this.SkillSlotArray[num7]; if (slot5 != null) { slot5.SetSkillLevel(1); } } } if (base.actor.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero) { this.SkillUseCache = new SkillCache(); } } }
internal DynamicAttributeInfo ConsiderMonsterDynamicInfo(ResMonsterCfgInfo monsterCfg) { int num = 0; DynamicAttributeInfo result = null; if (monsterCfg.iDynamicInfoType == 1) { SLevelContext curLvelContext = Singleton <BattleLogic> .get_instance().GetCurLvelContext(); if (curLvelContext != null && !curLvelContext.IsMobaMode()) { ResLevelCfgInfo dataByKey = GameDataMgr.levelDatabin.GetDataByKey((long)curLvelContext.m_mapID); if (dataByKey == null) { base.ErrorMissingLevelConfig((uint)curLvelContext.m_mapID); return(null); } if (curLvelContext.m_pveLevelType == null) { num = (int)dataByKey.dwAIPlayerLevel; } } } if (num <= 0) { return(null); } ResMonsterOrganLevelDynamicInfo dataByKey2 = GameDataMgr.monsterOrganLvDynamicInfobin.GetDataByKey((long)num); if (dataByKey2 == null) { return(null); } switch (monsterCfg.bSoldierType) { case 1: result = dataByKey2.stMelee; break; case 2: result = dataByKey2.stRemote; break; case 3: result = dataByKey2.stSuper; break; case 4: result = dataByKey2.stAnYingDaJiang; break; case 5: result = dataByKey2.stHeiAnXianFeng; break; case 6: result = dataByKey2.stBaoZouJiangShi; break; case 7: case 8: result = dataByKey2.stBaoJun; break; } return(result); }
public SingleGameContext(SCPKG_STARTSINGLEGAMERSP InMessage) { DebugHelper.Assert(InMessage != null, "输入不应该为null"); base.RewardCount = (InMessage == null) ? 0 : ((int)InMessage.dwRewardNum); Singleton <ActorDataCenter> .instance.ClearHeroServerData(); if (Singleton <GamePlayerCenter> .instance.GetAllPlayers().Count > 0) { } Singleton <GamePlayerCenter> .instance.ClearAllPlayers(); if (((InMessage != null) && (InMessage.stDetail.stSingleGameSucc != null)) && (InMessage.stDetail.stSingleGameSucc.bNum >= 1)) { this.DoNew9SlotCalc(InMessage); int num = Mathf.Min(InMessage.stDetail.stSingleGameSucc.bNum, InMessage.stDetail.stSingleGameSucc.astFighter.Length); for (int i = 0; i < num; i++) { COMDT_PLAYERINFO comdt_playerinfo = InMessage.stDetail.stSingleGameSucc.astFighter[i]; if (comdt_playerinfo.bObjType != 0) { ulong uid = 0L; uint dwFakeLogicWorldID = 0; uint level = 1; if (comdt_playerinfo.bObjType == 2) { if ((InMessage.bGameType == 1) && Convert.ToBoolean(InMessage.stGameParam.stSingleGameRspOfCombat.bIsWarmBattle)) { uid = comdt_playerinfo.stDetail.stPlayerOfNpc.ullFakeUid; dwFakeLogicWorldID = comdt_playerinfo.stDetail.stPlayerOfNpc.dwFakeLogicWorldID; level = comdt_playerinfo.stDetail.stPlayerOfNpc.dwFakePvpLevel; } else { uid = 0L; dwFakeLogicWorldID = 0; level = comdt_playerinfo.dwLevel; } } else { uid = (comdt_playerinfo.bObjType != 1) ? ((ulong)0L) : comdt_playerinfo.stDetail.stPlayerOfAcnt.ullUid; dwFakeLogicWorldID = (comdt_playerinfo.bObjType != 1) ? 0 : ((uint)comdt_playerinfo.stDetail.stPlayerOfAcnt.iLogicWorldID); level = comdt_playerinfo.dwLevel; } uint vipLv = 0; if (comdt_playerinfo.stDetail.stPlayerOfAcnt != null) { vipLv = comdt_playerinfo.stDetail.stPlayerOfAcnt.stGameVip.dwCurLevel; } Player player = Singleton <GamePlayerCenter> .GetInstance().AddPlayer(comdt_playerinfo.dwObjId, (COM_PLAYERCAMP)comdt_playerinfo.bObjCamp, comdt_playerinfo.bPosOfCamp, level, comdt_playerinfo.bObjType != 1, StringHelper.UTF8BytesToString(ref comdt_playerinfo.szName), 0, (int)dwFakeLogicWorldID, uid, vipLv, null, 0); if (player != null) { for (int j = 0; j < comdt_playerinfo.astChoiceHero.Length; j++) { uint dwHeroID = comdt_playerinfo.astChoiceHero[j].stBaseInfo.stCommonInfo.dwHeroID; player.AddHero(dwHeroID); } player.isGM = LobbyMsgHandler.isHostGMAcnt; } Singleton <ActorDataCenter> .instance.AddHeroesServerData(comdt_playerinfo.dwObjId, comdt_playerinfo.astChoiceHero); } if (comdt_playerinfo.bObjType == 1) { Singleton <GamePlayerCenter> .GetInstance().SetHostPlayer(comdt_playerinfo.dwObjId); } } if (InMessage.bGameType == 2) { ResLevelCfgInfo dataByKey = GameDataMgr.levelDatabin.GetDataByKey(InMessage.iLevelId); DebugHelper.Assert(dataByKey != null); base.LevelContext = new SLevelContext(); base.LevelContext.Init(dataByKey, 1); if (dataByKey.bGuideLevelSubType == 0) { base.LevelContext.isPVPLevel = true; base.LevelContext.isPVPMode = true; } else if (dataByKey.bGuideLevelSubType == 1) { base.LevelContext.isPVPLevel = false; base.LevelContext.isPVPMode = false; } base.LevelContext.GameType = (COM_GAME_TYPE)InMessage.bGameType; this.levelContext.bShowTrainingHelper = dataByKey.bShowTrainingHelper > 0; this.m_LevelDesignFileName = base.LevelContext.LevelDesignFileName; this.m_LevelArtistFileName = base.LevelContext.LevelArtistFileName; } else if (InMessage.bGameType == 0) { ResLevelCfgInfo levelCfg = GameDataMgr.levelDatabin.GetDataByKey(InMessage.iLevelId); DebugHelper.Assert(levelCfg != null); base.LevelContext = new SLevelContext(); base.LevelContext.Init(levelCfg, Singleton <CAdventureSys> .instance.currentDifficulty); base.LevelContext.GameType = (COM_GAME_TYPE)InMessage.bGameType; this.levelContext.bShowTrainingHelper = levelCfg.bShowTrainingHelper > 0; this.m_LevelDesignFileName = base.LevelContext.LevelDesignFileName; this.m_LevelArtistFileName = base.LevelContext.LevelArtistFileName; } else if (InMessage.bGameType == 7) { ResLevelCfgInfo info3 = GameDataMgr.burnMap.GetDataByKey(Singleton <BurnExpeditionController> .GetInstance().model.Get_LevelID(Singleton <BurnExpeditionController> .GetInstance().model.curSelect_LevelIndex)); DebugHelper.Assert(info3 != null); base.LevelContext = new SLevelContext(); base.LevelContext.Init(info3, 1); base.LevelContext.GameType = (COM_GAME_TYPE)InMessage.bGameType; this.levelContext.bShowTrainingHelper = info3.bShowTrainingHelper > 0; this.m_LevelDesignFileName = base.LevelContext.LevelDesignFileName; this.m_LevelArtistFileName = base.LevelContext.LevelArtistFileName; } else if (InMessage.bGameType == 8) { ResLevelCfgInfo info4 = GameDataMgr.arenaLevelDatabin.GetDataByKey(InMessage.iLevelId); DebugHelper.Assert(info4 != null); base.LevelContext = new SLevelContext(); base.LevelContext.Init(info4, 1); base.LevelContext.GameType = (COM_GAME_TYPE)InMessage.bGameType; this.levelContext.bShowTrainingHelper = info4.bShowTrainingHelper > 0; this.m_LevelDesignFileName = base.LevelContext.LevelDesignFileName; this.m_LevelArtistFileName = base.LevelContext.LevelArtistFileName; } else if (InMessage.bGameType == 1) { base.LevelContext = CLevelCfgLogicManager.MakeMobaContext((uint)InMessage.iLevelId, COM_GAME_TYPE.COM_SINGLE_GAME_OF_COMBAT, 1); base.LevelContext.GameType = (COM_GAME_TYPE)InMessage.bGameType; ResAcntBattleLevelInfo info5 = GameDataMgr.pvpLevelDatabin.GetDataByKey((uint)InMessage.iLevelId); if (info5 != null) { this.m_LevelDesignFileName = StringHelper.UTF8BytesToString(ref info5.stLevelCommonInfo.szDesignFileName); if (info5.stLevelCommonInfo.szArtistFileName != null) { this.m_LevelArtistFileName = StringHelper.UTF8BytesToString(ref info5.stLevelCommonInfo.szArtistFileName); } } else { ResCounterPartLevelInfo info6 = GameDataMgr.cpLevelDatabin.GetDataByKey((uint)InMessage.iLevelId); this.m_LevelDesignFileName = StringHelper.UTF8BytesToString(ref info6.stLevelCommonInfo.szDesignFileName); if (info6.stLevelCommonInfo.szArtistFileName != null) { this.m_LevelArtistFileName = StringHelper.UTF8BytesToString(ref info6.stLevelCommonInfo.szArtistFileName); } } base.LevelContext.isWarmBattle = Convert.ToBoolean(InMessage.stGameParam.stSingleGameRspOfCombat.bIsWarmBattle); base.LevelContext.DynamicDifficulty = InMessage.stGameParam.stSingleGameRspOfCombat.bAILevel; base.LevelContext.MapType = InMessage.stGameParam.stSingleGameRspOfCombat.bMapType; } } }