private void CheckSet(TokenStaticData p_newToken) { Boolean flag = true; List <Int32> list = new List <Int32>(); foreach (TokenStaticData tokenStaticData in StaticDataHandler.GetIterator <TokenStaticData>(EDataType.TOKEN)) { if (tokenStaticData.SetID == p_newToken.SetID) { if (GetTokens(tokenStaticData.StaticID) == 0) { flag = false; } else { list.Add(tokenStaticData.StaticID); } } } if (flag) { foreach (Int32 p_id in list) { RemoveToken(p_id); } AddToken(p_newToken.Replacement); } }
protected override void DoExecute() { ShrineStaticData staticData = StaticDataHandler.GetStaticData <ShrineStaticData>(EDataType.SHRINES, m_shrineID); if (staticData != null) { TokenStaticData staticData2 = StaticDataHandler.GetStaticData <TokenStaticData>(EDataType.TOKEN, staticData.TokenID); if (LegacyLogic.Instance.WorldManager.Party.TokenHandler.GetTokens(staticData.TokenID) > 0 || (staticData2.Replacement > 0 && LegacyLogic.Instance.WorldManager.Party.TokenHandler.GetTokens(staticData2.Replacement) > 0)) { CustomPopupEventArgs p_eventArgs = new CustomPopupEventArgs(Localization.Instance.GetText(staticData.Caption), Localization.Instance.GetText("GAMEMESSAGE_NOTHING_HAPPENS")); LegacyLogic.Instance.EventManager.InvokeEvent(null, EEventType.CUSTOM_POPUP, p_eventArgs); FinishExecution(); } else if (LegacyLogic.Instance.GameTime.Time.Days % 7 == (Int32)staticData.WeekDay) { m_parent.State = EInteractiveObjectState.ON; LegacyLogic.Instance.EventManager.InvokeEvent(m_parent, EEventType.OBJECT_STATE_CHANGED, EventArgs.Empty); LegacyLogic.Instance.WorldManager.Party.TokenHandler.AddToken(staticData.TokenID); CustomPopupEventArgs p_eventArgs = new CustomPopupEventArgs(Localization.Instance.GetText(staticData.Caption), Localization.Instance.GetText(staticData.RightText)); LegacyLogic.Instance.EventManager.InvokeEvent(null, EEventType.CUSTOM_POPUP, p_eventArgs); FinishExecution(); } else { m_stateMachine.ChangeState(3); } } else { LegacyLogger.Log("Shrine with ID " + m_shrineID + " doesn't exist"); FinishExecution(); } }
public String GetTokenDescription(Int32 p_id) { TokenStaticData staticData = StaticDataHandler.GetStaticData <TokenStaticData>(EDataType.TOKEN, p_id); if (p_id <= 6) { return(Localization.Instance.GetText(staticData.Description, ConfigManager.Instance.Game.ResistancePerBlessing)); } return(Localization.Instance.GetText(staticData.Description)); }
public void Init(TokenStaticData p_staticData, Boolean p_isTokenUsable) { m_staticData = p_staticData; m_isTokenUsable = p_isTokenUsable; base.Init(LocaManager.GetText(m_staticData.Name), m_staticData.Icon, 0, m_textColor); if (m_isTokenUsable) { LegacyLogic.Instance.EventManager.RegisterEvent(EEventType.TOKEN_REMOVED, new EventHandler(OnTokenRemoved)); } }
private void OnTokenAdded(Object p_sender, EventArgs p_args) { if (p_args is TokenEventArgs) { TokenEventArgs tokenEventArgs = (TokenEventArgs)p_args; if (IsRelevantToken(tokenEventArgs.TokenID)) { TokenStaticData tokenData = TokenHandler.GetTokenData(tokenEventArgs.TokenID); if (tokenData.TokenVisible) { m_tokenQueue.Enqueue(tokenData); } } } }
public void Init(Party p_party, Int32 p_tokenID) { m_data = StaticDataHandler.GetStaticData <TokenStaticData>(EDataType.TOKEN, p_tokenID); m_acquired = (p_party.TokenHandler.GetTokens(p_tokenID) > 0); m_icon.spriteName = m_data.Icon; m_tt_caption = LocaManager.GetText(m_data.Name); if (m_acquired) { m_tt = p_party.TokenHandler.GetTokenDescription(p_tokenID); m_icon.color = new Color(1f, 1f, 1f, 1f); } else { m_tt = LocaManager.GetText("TOKEN_NOT_ACQUIRED"); m_icon.color = new Color(0.2f, 0.2f, 0.2f, 1f); } }
private void OnLoadingScreenDeactivates(Object p_sender, EventArgs p_args) { List <Int32> collectedTokens = LegacyLogic.Instance.WorldManager.Party.TokenHandler.CollectedTokens; foreach (Int32 num in collectedTokens) { if (m_neededTokens.Contains(num)) { TokenStaticData tokenData = TokenHandler.GetTokenData(num); if (tokenData != null && tokenData.TokenVisible) { m_tokenQueue.Enqueue(TokenHandler.GetTokenData(num)); } } } NGUITools.SetActive(gameObject, true); }
public void SetTokenData(TokenStaticData p_data, Boolean p_isUsable) { NGUITools.SetActive(gameObject, true); m_data = p_data; m_icon.spriteName = p_data.Icon; m_nameLabel.text = LocaManager.GetText(p_data.Name); m_usable = p_isUsable; if (p_isUsable) { m_icon.color = m_iconColor; m_nameLabel.color = m_normalColor; m_functionLabel.color = m_normalColor; } else { m_icon.color = m_notUsableHereColor; m_nameLabel.color = m_notUsableHereColorText; m_functionLabel.color = m_notUsableHereColorText; } }
public void RemoveToken(Int32 p_id) { Int32 num; m_tokens.TryGetValue(p_id, out num); if (num >= 1) { m_tokens[p_id] = num - 1; } TokenStaticData tokenData = GetTokenData(p_id); if (tokenData != null) { if (tokenData.TokenVisible && !tokenData.RemoveSilent) { TokenRemovedEventArgs p_args = new TokenRemovedEventArgs(tokenData); LegacyLogic.Instance.ActionLog.PushEntry(p_args); } LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.TOKEN_REMOVED, new TokenEventArgs(p_id)); } }
public void OnTokenAdded(Object p_sender, EventArgs p_args) { TokenEventArgs tokenEventArgs = p_args as TokenEventArgs; if (tokenEventArgs == null) { return; } Int32 tokenID = tokenEventArgs.TokenID; TokenStaticData staticData = StaticDataHandler.GetStaticData <TokenStaticData>(EDataType.TOKEN, tokenID); if (!staticData.TokenVisible) { return; } String text = LocaManager.GetText(staticData.Name); String p_message = String.Empty; if (tokenID >= 1 && tokenID <= 6) { p_message = LocaManager.GetText("ACTION_LOG_BLESSING_ACQUIRED", text); } else if (tokenID >= 7 && tokenID <= 10) { p_message = text; } else if (tokenID >= 11 && tokenID <= 22) { p_message = LocaManager.GetText("ACTION_LOG_CLASS_UNLOCKED", text); } else { p_message = LocaManager.GetText("ACTION_LOG_TOKEN_ACQUIRED", text); } GameMessage item = new GameMessage(p_message); m_queuedMessages.Enqueue(item); }
public void AddToken(Int32 p_id) { TokenStaticData tokenData = GetTokenData(p_id); if (tokenData == null) { return; } Int32 num; m_tokens.TryGetValue(p_id, out num); m_tokens[p_id] = num + 1; if (tokenData.TokenVisible) { TokenAcquiredEventArgs p_args = new TokenAcquiredEventArgs(tokenData); LegacyLogic.Instance.ActionLog.PushEntry(p_args); } if (p_id >= 11 && p_id <= 22) { m_myParty.UnlockAdvancedClass((ETokenID)p_id); } if (p_id <= 6) { for (Int32 i = 0; i < 4; i++) { Character member = m_myParty.GetMember(i); if (member != null) { member.CalculateCurrentAttributes(); } } } LegacyLogic.Instance.EventManager.InvokeEvent(this, EEventType.TOKEN_ADDED, new TokenEventArgs(p_id)); if (tokenData.SetID > 0 && tokenData.Replacement > 0) { CheckSet(tokenData); } }
protected override void Update() { base.Update(); if (IsFreeSlot) { if (m_tokenQueue.Count > 0) { GameObject gameObject = Helper.Instantiate <GameObject>(m_TokenEntryPrefab); HUDSideInfoToken component = gameObject.GetComponent <HUDSideInfoToken>(); AddEntry(component); TokenStaticData tokenStaticData = m_tokenQueue.Dequeue(); component.Init(tokenStaticData, m_neededTokens.Contains(tokenStaticData.StaticID)); } else if (m_loreBookQueue.Count > 0) { GameObject gameObject2 = Helper.Instantiate <GameObject>(m_BookEntryPrefab); HUDSideInfoBook component2 = gameObject2.GetComponent <HUDSideInfoBook>(); AddEntry(component2); component2.Init(m_loreBookQueue.Dequeue()); } else if (m_questQueue.Count > 0 && IsFreeSlot) { GameObject gameObject3 = Helper.Instantiate <GameObject>(m_QuestEntryPrefab); HUDSideInfoQuest component3 = gameObject3.GetComponent <HUDSideInfoQuest>(); QueuedQuest queuedQuest = m_questQueue.Dequeue(); HUDSideInfoQuest.QuestState pState = HUDSideInfoQuest.QuestState.UPDATED; QuestChangedEventArgs.Type changeType = queuedQuest.ChangeType; if (changeType != QuestChangedEventArgs.Type.NEW_QUEST) { if (changeType == QuestChangedEventArgs.Type.COMPLETED_QUEST) { pState = HUDSideInfoQuest.QuestState.COMPLETED; } } else { pState = HUDSideInfoQuest.QuestState.ADDED; } if (queuedQuest.Quest.QuestState == EQuestState.SOLVED) { pState = HUDSideInfoQuest.QuestState.COMPLETED; } if (m_questQueue.Count > 0) { QueuedQuest queuedQuest2 = m_questQueue.Peek(); if (queuedQuest2.Quest.StaticData.FollowupStep == queuedQuest.Quest.StaticData.StaticID) { m_questQueue.Dequeue(); pState = HUDSideInfoQuest.QuestState.UPDATED; } else if (queuedQuest.Quest.StaticData.FollowupStep == queuedQuest2.Quest.StaticData.StaticID) { queuedQuest = m_questQueue.Dequeue(); pState = HUDSideInfoQuest.QuestState.UPDATED; } } AddEntry(component3); component3.Init(queuedQuest.Quest, pState); } } }
private void UpdateData() { List <Int32> collectedTokens = LegacyLogic.Instance.WorldManager.Party.TokenHandler.CollectedTokens; List <Int32> list = new List <Int32>(); for (Int32 i = collectedTokens.Count - 1; i >= 0; i--) { Int32 num = collectedTokens[i]; TokenStaticData tokenData = TokenHandler.GetTokenData(num); if (tokenData.TokenVisible && IsRelevantToken(num) && (!m_checkbox.isChecked || m_neededTokens.Contains(num))) { list.Add(num); } } m_pageCount = (Int32)Math.Ceiling(list.Count / 12.0); NGUITools.SetActive(m_nextButton.gameObject, !AtEnd()); NGUITools.SetActive(m_prevButton.gameObject, m_currentPage > 0); if (m_pageCount > 0) { m_pagerLabel.text = LocaManager.GetText("SPELLBOOK_PAGE", m_currentPage + 1, m_pageCount); } else { m_pagerLabel.text = String.Empty; } Int32 num2 = (12 <= list.Count) ? 12 : list.Count; Int32 num3 = 0; Int32 num4 = 0; Int32 num5 = m_currentPage * 12; Int32 num6 = (m_currentPage + 1) * 12 - 1; foreach (Int32 num7 in list) { if (num4 >= num5 && num4 <= num6) { TokenStaticData tokenData2 = TokenHandler.GetTokenData(num7); if (tokenData2.TokenVisible && IsRelevantToken(num7)) { if (!m_checkbox.isChecked) { m_tokenViews[num3].SetTokenData(tokenData2, m_neededTokens.Contains(num7)); num3++; } else { m_tokenViews[num3].SetTokenData(tokenData2, true); num3++; } } } num4++; } if (num3 < 12) { for (Int32 j = num3; j < 12; j++) { m_tokenViews[j].Hide(); } } m_grid.Reposition(); }