private void SetStartDialogSpecial(SpecialStage specialStage) { // Show the Quest Dialog if this is the first time playing the a level in the special stage string key = string.Format("{0}_{1}", SharedResources.SpecialStageStartQuestDialogShownKey, specialStage.StageId); bool shown = PlayerPrefsFast.GetBool(key, false); if (!shown) { this.CompletedImage.SetActive(false); this.gameObject.SetActive(true); foreach (GameObject dialog in this.StageMapping) { dialog.SetActive(false); } foreach (IdkyKeyValuePairGameObject specialStageMapping in this.SpecialStageMappings) { specialStageMapping.GetValue().SetActive(specialStageMapping.GetKey().Equals(specialStage.StageId)); } PlayerPrefsFast.SetBool(key, true); PlayerPrefsFast.Flush(); } }
public void UpdatePerSec() { if (mStageT == null) { return; } //是不是神秘商店; if (StageModule.IsMysteriousShop(mStageT.m_stageid)) { SpecialStage ss = ObjectSelf.GetInstance().BattleStageData.GetSpecialStageData(); if (ss.m_Time <= 0) { mGo.SetActive(false); } return; } switch (StageModule.GetStageStageType(mStageT)) { case EM_STAGE_STAGETYPE.MAIN: case EM_STAGE_STAGETYPE.SIDE: break; case EM_STAGE_STAGETYPE.MYSTERIOUS: //神秘关卡计时; break; case EM_STAGE_STAGETYPE.SPECIAL: //特殊关卡计时; SpecialStage ss = ObjectSelf.GetInstance().BattleStageData.GetSpecialStageData(); if (ss.m_Time <= 0) { mGo.SetActive(false); } break; case EM_STAGE_STAGETYPE.ACTIVE: break; case EM_STAGE_STAGETYPE.BOSS: break; case EM_STAGE_STAGETYPE.LITMIT_TIMES: break; default: break; } }
public void SetStartDialog(int level, int levelsPerStage, bool isSpecialMode, SpecialStage specialStage) { if (isSpecialMode) { this.SetStartDialogSpecial(specialStage); } else { this.SetStartDialogNormal(level, levelsPerStage); } }
private void SetEndDialogSpecial(SpecialStage specialStage) { // Show the Quest Dialog if all the special stages are beaten string key = string.Format("{0}_{1}", SharedResources.SpecialStageEndQuestDialogShownKey, specialStage.StageId); bool shown = PlayerPrefsFast.GetBool(key, false); if (!shown) { bool hasLevelIncomplete = false; foreach (int levelInStage in specialStage.LevelMapping.Keys) { string levelKey = string.Format( "{0}_{1}_{2}", SharedResources.TimesLevelPlayedToCompletePrefix, specialStage.StageId, levelInStage); int timesToCompleteLevel = PlayerPrefsFast.GetInt(levelKey, 0); // Check if the level has been completed yet if (timesToCompleteLevel == 0) { hasLevelIncomplete = true; break; } } if (!hasLevelIncomplete) { this.CompletedImage.SetActive(true); this.gameObject.SetActive(true); foreach (GameObject dialog in this.StageMapping) { dialog.SetActive(false); } foreach (IdkyKeyValuePairGameObject specialStageMapping in this.SpecialStageMappings) { specialStageMapping.GetValue().SetActive(specialStageMapping.GetKey().Equals(specialStage.StageId)); } PlayerPrefsFast.SetBool(key, true); PlayerPrefsFast.Flush(); } } }
public void SetStage( LevelSelectCreator levelSelect, SpecialStage stage, GameObject stageSelectActivateTarget, GameObject stageSelectDeactivateTarget, PurchaseStage purchaseStage, GameObject rewardPopUp) { this.specialStage = stage; this.Label.text = this.specialStage.Description; this.name = this.specialStage.StageId; this.levelSelectCreator = levelSelect; this.stageSelectOverrideActivateTarget = stageSelectActivateTarget; this.stageSelectOverrideDeactivateTarget = stageSelectDeactivateTarget; this.purchaseStagePopUp = purchaseStage; this.rewardedOnlyPopUp = rewardPopUp; this.SetSpecialStageCompletedIcons(); }
private void CreateSpecialStageButtons() { UIPanel uiPanel = this.StageSelectScrollViewer.GetComponent <UIPanel>(); Vector2 viewSize = uiPanel.GetViewSize(); int buttonWidth = (int)viewSize.x - this.StageSelectButtonTrimSize; foreach (VirtualGood virtualGood in ShopManager.VirtualGoods) { SpecialStage readSpecialStage = SpecialStageXmlIo.ReadSpecialStage(virtualGood.ItemId); GameObject item = NGUITools.AddChild(this.StageSelectGrid.gameObject, this.SpecialStageSelectButton); SpecialStageSelectButton stageSelectButton = item.GetComponent <SpecialStageSelectButton>(); if (stageSelectButton != null) { stageSelectButton.SetStage( this, readSpecialStage, this.StageSelectOverrideActivateTarget, this.StageSelectOverrideDeactivateTarget, this.PurchaseStagePopUp, this.RewardOnlyStagePopUp); } UIWidget uiWidget = item.GetComponent <UIWidget>(); if (uiWidget != null) { uiWidget.SetDimensions(buttonWidth, uiWidget.height); } } this.StageSelectGrid.enabled = true; this.StageSelectGrid.repositionNow = true; UIScrollView scrollView = this.StageSelectScrollViewer.GetComponent <UIScrollView>(); scrollView.enabled = true; scrollView.ResetPosition(); this.refreshGrid = true; }
private void Start() { foreach (UILabel dayTextLabel in this.DayTextLabels) { dayTextLabel.text = string.Format("Day {0}", this.Day); } foreach (UILabel rewardTextLabel in this.RewardTextLabels) { switch (this.Reward) { case RewardType.Token: rewardTextLabel.text = string.Format("{0} Tokens", this.RewardCount); break; case RewardType.Stage: SpecialStage rewardStage = SpecialStageXmlIo.ReadSpecialStage(this.StageId); rewardTextLabel.text = rewardStage.Description; break; } } }
//刷新所有的levelitem; void UpdateLevels(ChapterinfoTemplate chapterT) { //获取当前章节所有的关卡列表; stageDatas = new List <StageTemplate>(); //章节的所有普通关卡--chapterInfo表中所有的关卡表; //主线; switch (DifficultType) { case EM_STAGE_DIFFICULTTYPE.NONE: break; case EM_STAGE_DIFFICULTTYPE.NORMAL: List <StageTemplate> datas1 = StageModule.GetStageDatas(chapterT, EM_STAGE_TYPE.MAIN_QUEST1); stageDatas = StageModule.AddList(stageDatas, datas1); //支线; List <StageTemplate> datas4 = StageModule.GetStageDatas(chapterT, EM_STAGE_TYPE.SIDE_QUEST); stageDatas = StageModule.AddList(stageDatas, datas4); break; case EM_STAGE_DIFFICULTTYPE.HARD: List <StageTemplate> datas2 = StageModule.GetStageDatas(chapterT, EM_STAGE_TYPE.MAIN_QUEST2); stageDatas = StageModule.AddList(stageDatas, datas2); break; case EM_STAGE_DIFFICULTTYPE.HARDEST: List <StageTemplate> datas3 = StageModule.GetStageDatas(chapterT, EM_STAGE_TYPE.MAIN_QUEST3); stageDatas = StageModule.AddList(stageDatas, datas3); break; default: break; } //章节的特殊关卡; SpecialStage ss = ObjectSelf.GetInstance().BattleStageData.GetSpecialStageData(); if (ss.m_StageID > 0 && (ss.m_BattlePieceNum == mCurChapterId)) { //特殊关卡; if (StageModule.IsStageTemplate(ss.m_StageID)) { StageTemplate st = StageModule.GetStageTemplateById(ss.m_StageID); stageDatas.Add(st); } //神秘商店; else { //构造一个神秘商店; StageTemplate st = new StageTemplate(); st.m_stageid = ss.m_BattlePieceNum; //章节id; st.m_mysteriousShop = ss.m_StageID; //神秘商店表格id; st.m_CustomData = true; stageDatas.Add(st); } } int adder = stageDatas.Count - mLevelItems.Count; if (adder > 0) { CreateLevels(adder); } for (int i = 0; i < mLevelItems.Count; i++) { if (i >= stageDatas.Count) { mLevelItems[i].SetTemplateData(null); } else { if (stageDatas[i].m_CustomData != null) { mLevelItems[i].SetTemplateData(stageDatas[i], EM_STAGE_STAGETYPE.MYSTERIOUS); } else { mLevelItems[i].SetTemplateData(stageDatas[i]); } mLevelItems[i].SetActive(true); } //设置选中状态; mLevelItems[i].SetSelectState(mCurLevelId); } }
public SSpecialSolo(SpecialStage specialStage) { this.specialStage = specialStage; }
public void SelectStage(SpecialStage specialStage) { this.GameTable.SpecialStage = specialStage; this.RemoveTableChildren(); this.LevelSelectTable.Reposition(); // Fudge Factor so it doesn't use up the whole space, just most of it const float FudgeFactor = .9f; // Set the number of columns int rows = specialStage.LevelMapping.Mapping.Count / this.NumberOfColumns; this.LevelSelectTable.columns = this.NumberOfColumns; // Set the padding this.LevelSelectTable.padding = new Vector2(this.Padding, this.Padding); // Calculate what is available for width and height float columnPadding = ((this.NumberOfColumns + 1) * this.Padding); float rowPadding = ((rows + 1) * this.Padding); float availableWidth = (this.LevelSelectTableLimits.localSize.x * FudgeFactor) - columnPadding; float availableHeight = (this.LevelSelectTableLimits.localSize.y * FudgeFactor) - rowPadding; // Choose a button size based on the smaller of the two float width = availableWidth / this.NumberOfColumns; float height = availableHeight / rows; float buttonSize = Math.Min(width, height); for (int i = 1; i <= specialStage.LevelMapping.Mapping.Count; i++) { GameObject item = NGUITools.AddChild(this.LevelSelectTable.gameObject, this.SpecialStageLevelSelectButton); UIWidget uiWidget = item.GetComponent <UIWidget>(); if (uiWidget != null) { uiWidget.SetDimensions((int)buttonSize, (int)buttonSize); } SpecialStageLevelSelectButton levelSelectButton = item.GetComponent <SpecialStageLevelSelectButton>(); if (levelSelectButton != null) { levelSelectButton.SetLevel(this.GameTable, specialStage.StageId, i); foreach (ActivateOnClick levelSelectActivateOnClick in levelSelectButton.ActivateOnClick) { if (levelSelectActivateOnClick != null) { levelSelectActivateOnClick.ActivateTarget = this.GameBoard; levelSelectActivateOnClick.DeactivateTarget = this.gameObject; } } } this.LevelSelectTable.children.Add(item.transform); } // Center the table float heightOffset = (rowPadding + this.Padding + (buttonSize * rows)) / 2; float widthOffset = -(columnPadding + this.Padding + (buttonSize * this.NumberOfColumns)) / 2; this.LevelSelectTable.transform.localPosition = new Vector3(widthOffset, heightOffset + this.SelectLevelVerticalOffset); this.LevelSelectTable.enabled = true; this.LevelSelectTable.repositionNow = true; }