Exemplo n.º 1
0
    /// <summary>
    /// Sorts the data. Easier for retrieval later
    /// Hash -- Key: missionID, Value: (Hash -- Key: category , Value: List<ImmutableDataWellapadTask>)
    /// </summary>
    /// <param name="data">Data.</param>
    private void SortData(ImmutableDataWellapadTask data)
    {
        if (missionTaskHash == null)
        {
            missionTaskHash = new Hashtable();
        }

        string missionID = data.GetTaskType();

        if (!missionTaskHash.ContainsKey(missionID))
        {
            missionTaskHash[missionID] = new Hashtable();
        }

        // this is the hashtable of tasks in a mission
        Hashtable taskHash = (Hashtable)missionTaskHash[missionID];

        // now drill deeper -- we want to sort by categories
        string category = data.GetCategory();

        if (!taskHash.ContainsKey(category))
        {
            taskHash[category] = new List <ImmutableDataWellapadTask>();
        }

        List <ImmutableDataWellapadTask> tasks = (List <ImmutableDataWellapadTask>)taskHash[category];

        tasks.Add(data);
    }
Exemplo n.º 2
0
    private MiniPetRetentionPet retentionScript;        // Reference to minipet logic

    public void InitializeContent(string taskID, MiniPetRetentionPet retentionScript)
    {
        this.retentionScript = retentionScript;
        rewardButton.SetActive(false);
        if (DataManager.Instance.GameData.Wellapad.CurrentTasks.ContainsKey("DailyInhaler"))
        {
            List <MutableDataWellapadTask> listTasks = WellapadMissionController.Instance.GetTaskGroup("TutorialPart1");
            task = listTasks[0];
            ImmutableDataWellapadTask missionTask = DataLoaderWellapadTasks.GetTask(task.TaskID);
            SetCheckboxSprite(true, slash1);
            task = listTasks[1];
            SetCheckboxSprite(true, slash2);
            ImmutableDataWellapadTask missionTask2 = DataLoaderWellapadTasks.GetTask(task.TaskID);
            mission1Localize.text = Localization.Localize("Task_" + missionTask.GetTaskID());
            mission2Localize.text = Localization.Localize("Task_" + missionTask2.GetTaskID());
            mission3Localize.gameObject.SetActive(false);
            mission4Localize.gameObject.SetActive(false);
            if (WellapadMissionController.Instance.GetTaskStatus(listTasks[0]) == WellapadTaskCompletionStates.Completed &&
                WellapadMissionController.Instance.GetTaskStatus(listTasks[1]) == WellapadTaskCompletionStates.Completed)
            {
                rewardButton.SetActive(true);
                GameObject peb = MiniPetManager.Instance.MiniPetTable["MiniPet0"];
                rewardButton.GetComponent <Button>().onClick.AddListener(() => peb.GetComponent <MiniPetRetentionPet>().OnTurnInButton());
            }
        }
        else
        {
//			Debug.Log(DataManager.Instance.GameData.Wellapad.CurrentTasks[taskID].RewardStatus);
            if (DataManager.Instance.GameData.Wellapad.CurrentTasks[taskID].isReward == RewardStatuses.Unclaimed ||
                DataManager.Instance.GameData.Wellapad.CurrentTasks[taskID].isReward == RewardStatuses.Unearned)
            {
                //Debug.Log(taskID);
                List <MutableDataWellapadTask> listTasks = WellapadMissionController.Instance.GetTaskGroup("Critical");
                task = listTasks[0];
                SetCheckboxSprite(true, slash1);
                ImmutableDataWellapadTask missionTask = DataLoaderWellapadTasks.GetTask(task.TaskID);
                rewardButton.GetComponent <LgWorldButtonMessage>().target = MiniPetManager.Instance.MiniPetTable["MiniPet0"];
                task = listTasks[1];
                SetCheckboxSprite(true, slash2);
                ImmutableDataWellapadTask missionTask2 = DataLoaderWellapadTasks.GetTask(task.TaskID);
                task = listTasks[2];
                SetCheckboxSprite(true, slash3);
                ImmutableDataWellapadTask missionTask3 = DataLoaderWellapadTasks.GetTask(task.TaskID);
                if (WellapadMissionController.Instance.GetTaskStatus(listTasks[0]) == WellapadTaskCompletionStates.Completed && WellapadMissionController.Instance.GetTaskStatus(listTasks[1]) == WellapadTaskCompletionStates.Completed && WellapadMissionController.Instance.GetTaskStatus(listTasks[2]) == WellapadTaskCompletionStates.Completed)
                {
                    rewardButton.SetActive(true);
                }
                mission1Localize.text = Localization.Localize("Task_" + missionTask.GetTaskID());
                mission2Localize.text = Localization.Localize("Task_" + missionTask2.GetTaskID());
                mission3Localize.text = Localization.Localize("Task_" + missionTask3.GetTaskID());
                mission4Localize.gameObject.SetActive(false);
            }
        }
    }
Exemplo n.º 3
0
    public void AddTask(string taskID)
    {
        ImmutableDataWellapadTask task = DataLoaderWellapadTasks.GetTask(taskID);

        DataManager.Instance.GameData.Wellapad.CurrentTasks[taskID] = new MutableDataWellapadTask(task);

        // reset the time -- I probably want to change this to a per mission basis at some point if we expand the system?
        DataManager.Instance.GameData.Wellapad.DateMissionsCreated = LgDateTime.GetTimeNow();
        // send event
        if (OnMissionsRefreshed != null)
        {
            OnMissionsRefreshed(this, EventArgs.Empty);
        }
    }
Exemplo n.º 4
0
 public MutableDataWellapadTask(ImmutableDataWellapadTask data, WellapadTaskCompletionStates completionStatus = WellapadTaskCompletionStates.Uncompleted)
 {
     TaskID = data.GetTaskID();
     if (data.GetCategory() == "Critical")
     {
         Category = MiniGameCategory.Critical;
     }
     else
     {
         Category = MiniGameCategory.Regular;
     }
     Amount    = data.GetRandomCompleteCondition();
     Completed = completionStatus;
 }
Exemplo n.º 5
0
    protected override void XMLNodeHandler(string id, IXMLNode xmlNode, Hashtable hashData, string errorMessage)
    {
        ImmutableDataWellapadTask data = new ImmutableDataWellapadTask(id, xmlNode, errorMessage);

        if (hashData.ContainsKey(id))
        {
            Debug.LogError("Duplicate task id: " + id);
        }
        else
        {
            hashData[id] = data;
        }

        SortData(data);
    }
Exemplo n.º 6
0
    //---------------------------------------------------
    // SetDesc()
    // Sets the description for this task.
    //---------------------------------------------------
    private void SetDesc()
    {
        // set the label showing what the task entails
        ImmutableDataWellapadTask data = DataLoaderWellapadTasks.GetTask(task.TaskID);

        string strDesc = data.GetText();

        // if the task has an amount, we want to integrate that into the string
        if (task.Amount > 0)
        {
            strDesc = string.Format(strDesc, task.Amount);
        }

        label.text = strDesc;
    }
    private MiniPetGameMaster gameMasterScript;                 // Reference to minipet logic

    public void InitializeContent(string taskID, MinigameTypes type, MiniPetGameMaster gameMasterScript)
    {
        this.gameMasterScript = gameMasterScript;
        task = WellapadMissionController.Instance.GetTask(taskID);
        ImmutableDataWellapadTask missionTask = DataLoaderWellapadTasks.GetTask(task.TaskID);
        string desc = missionTask.GetText();

        if (task.Amount > 0)
        {
            desc = String.Format(desc, task.Amount);
        }
        label.text        = desc;
        spriteIcon.sprite = SpriteCacheManager.GetSprite("mapIcons" + type.ToString());
        rewardButton.SetActive(false);
        SetCheckboxSprite(true);
    }