public static void GetIconInfo(this QuestIcon iconType, ref Texture icon, ref Rect rect) { //use subIndex where stores construction info // switch (iconType) { case QuestIcon.FoundationRouteIcon: { icon = UIController.iconsTexture; rect = UIController.GetIconUVRect(Icons.FoundationRoute); break; } case QuestIcon.PeopleIcon: { icon = UIController.iconsTexture; rect = UIController.GetIconUVRect(Icons.Citizen); break; } case QuestIcon.TutorialIcon: { icon = UIController.iconsTexture; rect = UIController.GetIconUVRect(Icons.SecretKnowledgeIcon); break; } default: { icon = GlobalMapCanvasController.GetMapMarkersTexture(); rect = GlobalMapCanvasController.GetMarkerRect(MapPointType.QuestMark); break; } } }
public ScenarioQuest(Scenario i_scenario, QuestIcon qi) : base(QuestType.Scenario, 0) { myScenario = i_scenario; iconType = qi; needToCheckConditions = myScenario.QuestMustCheckConditions(); INLINE_PrepareSteps(myScenario?.GetStepsCount() ?? 1); }
public QuestIcon GetQuestIcon(bool taken = false, bool completed = false) { QuestIcon icon = QuestIcon.None; switch (Type) { case QuestType.General: case QuestType.Repeatable: if (completed) { icon = QuestIcon.QuestionYellow; } else if (taken) { icon = QuestIcon.QuestionWhite; } else { icon = QuestIcon.ExclamationYellow; } break; case QuestType.Daily: if (completed) { icon = QuestIcon.QuestionBlue; } else if (taken) { icon = QuestIcon.QuestionWhite; } else { icon = QuestIcon.ExclamationBlue; } break; case QuestType.Story: if (completed) { icon = QuestIcon.QuestionGreen; } else if (taken) { icon = QuestIcon.QuestionWhite; } else { icon = QuestIcon.ExclamationGreen; } break; } return(icon); }
//Quests #region Quest System public void UpdateBestQuestIcon() { ClientQuestProgress quests = GetAvailableQuests(true).FirstOrDefault(); QuestIcon bestIcon = QuestIcon.None; if (quests != null) { bestIcon = quests.Icon; } QuestIcon = bestIcon; }
public ConditionQuest(SimpleCondition i_condition, ColonyController i_colony, bool i_completeQuestWhenPossible, QuestIcon cqi) : base(QuestType.Condition, (byte)cqi) { colony = i_colony; needToCheckConditions = true; completeQuestWhenPossible = i_completeQuestWhenPossible; iconType = cqi; INLINE_PrepareSteps(1); conditions = new SimpleCondition[1] { i_condition }; INLINE_DefineStep(ref i_condition, 0); CheckQuestConditions(); }
public ConditionQuest(SimpleCondition[] i_conditions, ColonyController i_colony, bool i_completeQuestWhenPossible, QuestIcon cqi) : base(QuestType.Condition, (byte)cqi) { colony = i_colony; needToCheckConditions = true; completeQuestWhenPossible = i_completeQuestWhenPossible; byte count = (byte)i_conditions.Length; INLINE_PrepareSteps(count); conditions = i_conditions; for (var i = 0; i < count; i++) { INLINE_DefineStep(ref conditions[i], i); } iconType = cqi; CheckQuestConditions(); }
public override void UpdateQuests() { if (NPCInfo.CurrentIcon == QuestIcon.None) { RemoveQuestEffect(); return; } if (CurrentIcon == NPCInfo.CurrentIcon) { return; } RemoveQuestEffect(); CurrentIcon = NPCInfo.CurrentIcon; int startIndex = 0; if ((CurrentIcon & QuestIcon.QuestComplete) == QuestIcon.QuestComplete) { startIndex = 1130; } else if ((CurrentIcon & QuestIcon.NewQuest) == QuestIcon.NewQuest) { startIndex = 1080; } else if ((CurrentIcon & QuestIcon.QuestIncomplete) == QuestIcon.QuestIncomplete) { startIndex = 1090; } QuestEffect = new MirEffect(startIndex, 2, TimeSpan.FromMilliseconds(500), LibraryFile.GameInter, 0, 0, Color.Empty) { Loop = true, MapTarget = CurrentLocation, Blend = false, DrawType = DrawType.Final, AdditionalOffSet = new Point(0, -80) }; QuestEffect.Process(); }
public void RemoveQuestEffect() { CurrentIcon = QuestIcon.None; QuestEffect?.Remove(); QuestEffect = null; }
/// <summary> /// Sets quest's icon. /// </summary> /// <param name="class_"></param> protected void SetIcon(QuestIcon icon) { this.Icon = icon; }