Exemplo n.º 1
0
    public void TurnInQuest(Quest quest)
    {
        QuestTracker tracker = GetQuestTracker(quest);

        tracker.SetAsTurnIn();
        UIEventHandler.QuestTurnedIn(tracker);
    }
Exemplo n.º 2
0
 private void QuestUpdated(QuestTracker quest)
 {
     if (quest == selectedQuest.questTracker)
     {
         updateGoalText();
     }
 }
Exemplo n.º 3
0
 public void UpdateQuestInformation(QuestTracker questTracker)
 {
     if (this.questTracker == questTracker)
     {
         textUI.text = questTracker.quest.name;
     }
 }
Exemplo n.º 4
0
 private void InitialCheck()
 {
     if (QuestTracker.GetActiveModel(_questModelId) != null || QuestTracker.IsModelIdComplete(_questModelId))
     {
         CallDeferred(nameof(Trigger));
     }
 }
Exemplo n.º 5
0
    public void GiveQuest(Quest quest)
    {
        QuestTracker tracker = new QuestTracker(quest, QuestTracker.QuestState.InProgress);

        questTrackers.Add(tracker);
        UIEventHandler.QuestAccepted(tracker);
        MessageHandler.DisplayMessage("Quest Accepted: " + quest.name);
    }
Exemplo n.º 6
0
    private void QuestTurnedIn(QuestTracker quest)
    {
        QuestUI questUI = inProgressQuestUIList.Find(q => q.questTracker == quest);

        questUI.transform.SetParent(turnedInQuestContainer);
        questUI.transform.SetSiblingIndex(0);
        inProgressQuestUIList.Remove(questUI);
        turnedInQuestUIList.Add(questUI);
        turnedInQuestContainer.gameObject.SetActive(true);
    }
Exemplo n.º 7
0
    void EvaluateLevelUp(QuestTracker exp)
    {
        string level = selectedSlot.saved.characterData.CharacterLevel.ToString();

        if (PF_GameData.CharacterLevelRamp[level] <= selectedSlot.saved.characterData.ExpThisLevel + exp.XpCollected)
        {
            selectedSlot.saved.characterData.TotalExp = selectedSlot.saved.characterData.ExpThisLevel;
            selectedSlot.saved.PlayerVitals.levelIncrease++;
        }
    }
Exemplo n.º 8
0
        private void Setup()
        {
            QuestTracker.Instance.Connect(nameof(QuestTracker.PreQuestStarted), this, nameof(OnPreQuestStarted));
            var activeQuest = QuestTracker.GetActiveQuestContainingModelId(_questModelId);

            if (activeQuest != null)
            {
                ConnectQuest(activeQuest);
            }
            InitialCheck();
        }
Exemplo n.º 9
0
 public void LevelUpCharacter()
 {
     if (selectedSlot != null)
     {
         QuestTracker quest = new QuestTracker {
             XpCollected = PF_GameData.CharacterLevelRamp[(selectedSlot.saved.characterData.CharacterLevel).ToString()]
         };
         EvaluateLevelUp(quest);
         PF_GamePlay.SavePlayerData(selectedSlot.saved, quest);
     }
 }
Exemplo n.º 10
0
    private QuestTracker SpoofQuestResults()
    {
        QuestTracker tracker = new QuestTracker();

        tracker.CompletedEncounters = PF_GamePlay.encounters;

        float rng = Random.value;

        if (rng > .9)
        {
            tracker.DamageTaken = Random.Range(235, 976);
            tracker.Deaths      = 2;
        }
        else if (rng > .1f && rng < .4f)
        {
            tracker.DamageTaken = Random.Range(235, 750);
            tracker.Deaths      = 1;
        }
        else
        {
            tracker.DamageTaken = Random.Range(235, 400);
            tracker.Deaths      = 0;
        }

        if (PF_GamePlay.isHardMode == true)
        {
            tracker.DamageTaken = Random.Range(880, 2450);
            tracker.Deaths     += Random.value > .6 ? 1 : 0;
        }

        tracker.ItemsUsed = Random.Range(0, 5);



        foreach (var encounter in PF_GamePlay.encounters)
        {
            tracker.ItemsFound.AddRange(encounter.Data.Rewards.ItemsDropped);
            tracker.XpCollected   += encounter.Data.Rewards.XpMin;
            tracker.GoldCollected += encounter.Data.Rewards.GoldMin;

            if (encounter.Data.EncounterType == EncounterTypes.Hero)
            {
                tracker.HeroRescues++;
            }

            if (encounter.Data.EncounterType.ToString().Contains(GlobalStrings.ENCOUNTER_CREEP))
            {
                tracker.CreepEncounters++;
            }
        }
        tracker.isQuestWon = true;

        return(tracker);
    }
Exemplo n.º 11
0
        public QuestModel GetAssociatedQuestModel()
        {
            var parent = GetParentOrNull <DialogueItem>();

            if (parent == null)
            {
                return(null);
            }

            return(QuestTracker.GetActiveModel(parent.ActiveQuestModelId));
        }
Exemplo n.º 12
0
    private void QuestAccepted(QuestTracker quest)
    {
        QuestUI questUI = Instantiate(questUIprefab, inProgressQuestContainer);

        questUI.SetQuest(quest);
        if (inProgressQuestUIList.Count == 0)
        {
            inProgressQuestContainer.gameObject.SetActive(true);
            QuestUISelected(questUI);
        }
        inProgressQuestUIList.Add(questUI);
    }
Exemplo n.º 13
0
    /// <summary>
    /// write back the quest progress to playfab
    /// </summary>
    public static void SavePlayerData(FG_SavedCharacter savedCha, QuestTracker questProgress)
    {
        DialogCanvasController.RequestLoadingPrompt(PlayFabAPIMethods.SavePlayerInfo);

        ExecuteCloudScriptRequest request = new ExecuteCloudScriptRequest();

        request.FunctionName      = "SaveProgress";
        request.FunctionParameter = new { CurrentPlayerData = savedCha, LevelRamp = PF_GameData.CharacterLevelRamp, QuestProgress = questProgress };


        PlayFabClientAPI.ExecuteCloudScript(request, OnSavePlayerDataSuccess, PF_Bridge.PlayFabErrorCallback);
    }
Exemplo n.º 14
0
 public AutoModerator(IConfig config, IChatManagerServer chatManager)
 {
     _config               = config;
     _chatManager          = chatManager;
     _exemptBlockTypePairs = new BlockTypePairCollection();
     _grids   = new GridTracker(config);
     _players = new PlayerTracker(config);
     _entityGpsBroadcaster = new EntityGpsBroadcaster(config);
     _questTracker         = new QuestTracker(config, chatManager);
     _punishExecutor       = new PunishExecutor(config, _exemptBlockTypePairs);
     _punishChatFeed       = new PunishChatFeed(config, _chatManager);
 }
Exemplo n.º 15
0
    public QuestLine(string desc, QuestTracker[] quests)
        : base(desc)
    {
        if (quests == null)
        {
            throw new ArgumentNullException("quests");
        }

        this.quests = quests;

        currentQuest = quests[0];
    }
    // Start is called before the first frame update
    void Awake()
    {
        if (instance != null && instance != this)
        {
            Destroy(this.gameObject);
        }
        else
        {
            instance = this;
        }

        SetupQuestTracker();
    }
Exemplo n.º 17
0
        public void AddQuest(Quest quest)
        {
            List <QuestStep> steps = quest.steps;

            for (int i = 0; i < steps.Count; i++)
            {
                if (steps[i].action == QuestAction.Deliver && steps[i].objects.Count != 0)
                {
                    for (int j = 0; j < steps[i].objects.Count; j++)
                    {
                        AddItem(steps[i].objects[j]);
                    }
                }
            }
            QuestTracker.AddQuest(GUID, quest);
        }
Exemplo n.º 18
0
//	void OnGUI()
//	{
//		if(GUI.Button (new Rect(Screen.width/2 - 50, 5, 100, 50), "Shaker"))
//		{
//
//			EnemyAttackPlayer();
//		}
//	}

    void Init()
    {
        //TODO this needs to set up all the dynamic data for the many components
        if ((PF_GamePlay.encounters != null && PF_GamePlay.encounters.Count > 0) && (PF_GamePlay.ActiveQuest != null))
        {
            if (PF_GamePlay.UseRaidMode == true)
            {
                QuestTracker qt = SpoofQuestResults();
                PF_GamePlay.QuestProgress = qt;
            }

            RaiseGameplayEvent(GlobalStrings.QUEST_START_EVENT, PF_GamePlay.GameplayEventTypes.IntroQuest);
        }
        else
        {
        }
    }
Exemplo n.º 19
0
    public GoalTracker GetGoalTracker(BaseGoal goal, QuestTracker quest)
    {
        Type goalType = goal.GetType();

        Debug.Log(goalType);
        if (goalType == typeof(CollectionGoal))
        {
            Debug.Log("Creating a CollectionGoalTracker");
            return(new CollectionGoalTracker(quest, goal));
        }
        else if (goalType == typeof(KillGoal))
        {
            Debug.Log("Creating a KillGoalTracker");
            return(new KillGoalTracker(quest, goal));
        }

        return(null);
    }
Exemplo n.º 20
0
        public bool IsValid()
        {
            var valid = true;

            if (!string.IsNullOrEmpty(ActiveQuestModelId))
            {
                valid = valid && QuestTracker.GetActiveModel(ActiveQuestModelId) != null;
            }
            if (RequiredCompletedQuestIds != null)
            {
                valid = valid && RequiredCompletedQuestIds.All(x => QuestTracker.IsQuestCompleted(x));
            }
            if (HasQuestStarter())
            {
                valid = valid && HasAvailableQuest();
            }
            return(valid);
        }
Exemplo n.º 21
0
    void Awake()
    {
        //Check if there is already an instance of QuestTracker
        if (instance == null)
        {
            //if not, set it to this.
            instance = this;
        }
        //If instance already exists:
        else if (instance != this)
        {
            //Destroy this, this enforces our singleton pattern so there can only be one instance of QuestTracker.
            Destroy(gameObject);
        }

        //Set QuestTracker to DontDestroyOnLoad so that it won't be destroyed when reloading our scene.
        DontDestroyOnLoad(gameObject);
    }
Exemplo n.º 22
0
    void Start()
    {
        image = transform.GetChild(1).GetComponent <Image>();
        transform.GetChild(1).GetComponent <Image>().sprite = item.itemIcon;                //set the sprite of the Item
        text     = transform.GetChild(0).GetComponent <Text>();                             //get the text(itemValue GameObject) of the item
        counters = new int[item.itemAttributes.Count + 1];
        for (int i = 0; i < item.itemAttributes.Count; i++)
        {
            counters[i] = 0;
        }

        if (tracker == null)
        {
            tracker = GameObject.FindGameObjectWithTag("Objective").GetComponent <QuestTracker>();
        }
        trackButton = GameObject.FindGameObjectWithTag("QuestLog").transform.GetChild(0).GetChild(0).GetChild(1).GetChild(0).GetChild(5).GetComponent <Button>();
        trackButton.onClick.AddListener(onTrackQuest);
    }
Exemplo n.º 23
0
        private void ShowTurnInRequirements(QuestEventModel questEventModel)
        {
            var quest   = QuestTracker.GetActiveQuestContainingModelId(questEventModel.Id);
            var rewards = quest.GetRewards(questEventModel.Id);

            foreach (var child in _rewardsContainer.GetChildren <Node>())
            {
                if (child is InventoryCell)
                {
                    child.GetParent().RemoveChild(child);
                    child.QueueFree();
                }
            }

            foreach (var child in _requirementsContainer.GetChildren <Node>())
            {
                if (child is InventoryCell)
                {
                    child.GetParent().RemoveChild(child);
                    child.QueueFree();
                }
            }

            var requirementCell = _resourcePreloader.InstanceScene <InventoryCell>();

            requirementCell.SizeFlagsHorizontal = (int)SizeFlags.ShrinkCenter;
            _requirementsContainer.AddChild(requirementCell);
            var requirementItem = InventoryItem.FromItemId(questEventModel.ItemId);

            requirementItem.Amount = questEventModel.Required;
            requirementCell.SetInventoryItem(requirementItem);

            foreach (var reward in rewards)
            {
                var rewardCell = _resourcePreloader.InstanceScene <InventoryCell>();
                rewardCell.SizeFlagsHorizontal = (int)SizeFlags.ShrinkCenter;
                _rewardsContainer.AddChild(rewardCell);

                var item = InventoryItem.FromItemId(reward.ItemId);
                item.Amount = reward.Amount;
                rewardCell.SetInventoryItem(item);
            }
        }
Exemplo n.º 24
0
    //Function called when this object is created
    private void Awake()
    {
        //Setting the global reference for this component
        if (QuestTracker.globalReference == null)
        {
            QuestTracker.globalReference = this;
        }
        else
        {
            Destroy(this);
        }

        //Initializing our list of quests
        this.questLog            = new List <Quest>();
        this.completedQuestNames = new List <string>();

        //Setting the event delegate
        this.advanceTimeListener = new DelegateEvent <EVTData>(this.UpdateQuestTimers);
    }
 void Awake()
 {
     if (instance == null)
     {
         instance              = this;
         settingsData          = LoadSettings();
         QuestTrackerScript    = GetComponent <QuestTracker>();
         AudioControllerScript = GetComponent <AudioController>();
         fadeAnim              = fadeUI.GetComponentInChildren <Animator>();
         fadeImage             = fadeUI.GetComponentInChildren <Image>();
         videoPlayer           = GetComponent <VideoPlayer>();
         AudioControllerScript.Init();
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
         return;
     }
 }
Exemplo n.º 26
0
    protected override void UpdateState(ref QuestState state)
    {
        currentQuest.UpdateState();

        int questIndex = Array.IndexOf(quests, currentQuest);

        if (currentQuest.State == QuestState.Completed && questIndex < quests.Length - 1)
        {
            currentQuest = quests[questIndex];
        }

        // If one quest has failed, line has failed.
        if (Array.Find(quests, q => q.State == QuestState.Failed) != null)
        {
            state = QuestState.Failed;
        }

        // If all quests are completed, the line is complete.
        state = Array.TrueForAll(quests, q => q.State == QuestState.Completed) ? QuestState.Completed : QuestState.InProgress;
    }
    public void UpdateQuestStats()
    {
        QuestTracker progress = PF_GamePlay.QuestProgress;

        progress.isQuestWon = true;

        progress.GoldCollected = Random.Range(0, 100);
        progress.XpCollected   = Random.Range(0, 100);
        progress.ItemsFound.Add("MediumPileOGold");

        GoldCollectedText.text  = progress.GoldCollected.ToString();
        ExpText.text            = progress.XpCollected.ToString();
        ItemsCollectedText.text = progress.ItemsFound.Count.ToString();

        CheckedActivedLevelUp();

        if (PF_PlayerData.SavedTeam[0] != null)
        {
            Debug.Log("May be do level up");
        }
    }
Exemplo n.º 28
0
        public override void OnInspectorGUI()
        {
            base.DrawDefaultInspector();

            QuestTracker tracker = (QuestTracker)target;

            GUILayout.Space(20f);
            GUILayout.Label("Add a Quest");

            GUILayout.BeginHorizontal();
            GUILayout.Label("Quest Source");
            source = EditorGUILayout.ObjectField(source, typeof(QuestData), true) as QuestData;
            GUILayout.EndHorizontal();

            if (GUILayout.Button("Save")) //8
            {
                // description = source.questDescription;
                // objective = source.questObjective;
                // quantity = source.objQuantity;
                tracker.AddQuest(source);
            }
        }
Exemplo n.º 29
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
         //DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
     foreach (QuestPrefab quest in FindObjectsOfType <QuestPrefab>())
     {
         if (quest.levelRequirement > Experience.Instance.level)
         {
             questList.Add(quest, (int)States.Unavailable);
         }
         else
         {
             questList.Add(quest, (int)States.Available);
         }
     }
 }
Exemplo n.º 30
0
 public void Handle(NavigationItemClicked message)
 {
     if (Menu.GetType() == message.ControlType)
     {
         ActivateItem(Menu);
     }
     else if (Info.GetType() == message.ControlType)
     {
         ActivateItem(Info);
     }
     else if (QuestTracker.GetType() == message.ControlType)
     {
         ActivateItem(QuestTracker);
     }
     else if (QuestDetails.GetType() == message.ControlType)
     {
         ActivateItem(QuestDetails);
     }
     else if (ChecklistPicker.GetType() == message.ControlType)
     {
         ActivateItem(ChecklistPicker);
     }
 }
Exemplo n.º 31
0
    //public Transform requirementTransform;

    void Awake()
    {
        questTracker = this;
    }