literally half of the game
This commit is contained in:
parent
1590b5faa6
commit
b842289076
77 changed files with 11904 additions and 72 deletions
|
|
@ -1,4 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
public class TaskManager : MonoBehaviour
|
||||
|
|
@ -18,9 +20,18 @@ public class TaskManager : MonoBehaviour
|
|||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public List<Task> activeTasks = new();
|
||||
|
||||
public Task[] taskList; //list of all tasks in the game
|
||||
public List<Task> activeTasks = new(); //it doesn't need to be serialized wtf are you talking about
|
||||
public int maxTasksActive;
|
||||
public Task startingTask;
|
||||
[Header("UI")]
|
||||
[SerializeField] private TaskUIObject templateTaskUI;
|
||||
public Transform taskGrid;
|
||||
public TextMeshProUGUI taskNameUI;
|
||||
public TextMeshProUGUI taskDescriptionUI;
|
||||
public Dictionary<Task, TaskUIObject> allTaskUIObjects = new();
|
||||
|
||||
public bool AddTask(Task taskToAdd)
|
||||
{
|
||||
if (activeTasks.Count >= maxTasksActive)
|
||||
|
|
@ -28,6 +39,56 @@ public class TaskManager : MonoBehaviour
|
|||
return false;
|
||||
}
|
||||
activeTasks.Add(taskToAdd);
|
||||
AddTaskUIObject(taskToAdd);
|
||||
return true;
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
//AddTask(startingTask);
|
||||
}
|
||||
|
||||
public void CompleteTask(Task taskToComplete)
|
||||
{
|
||||
//remove items from inventory aswell. also need to
|
||||
//activeTasks.Remove(taskToComplete);
|
||||
Debug.Log($"{taskToComplete.taskName} COMPLETED");
|
||||
foreach (InventoryManager.ItemAmount itemReward in taskToComplete.itemRewards)
|
||||
{
|
||||
InventoryManager.instance.AddItem(itemReward.item, itemReward.amount);
|
||||
}
|
||||
InventoryManager.instance.AddMoney(taskToComplete.moneyReward);
|
||||
}
|
||||
|
||||
public void CheckInventory()
|
||||
{
|
||||
foreach (Task task in activeTasks)
|
||||
{
|
||||
bool skip = false;
|
||||
foreach (InventoryManager.ItemAmount itemRequirment in task.itemRequirements)
|
||||
{
|
||||
if (InventoryManager.instance.storedItems[itemRequirment.item] < itemRequirment.amount) //doesn't track enemies killed yet but i haven't added combat yet
|
||||
{
|
||||
skip = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!skip)
|
||||
{
|
||||
CompleteTask(task);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void AddTaskUIObject(Task requestedTask)
|
||||
{
|
||||
TaskUIObject newTaskUIObject = Instantiate(templateTaskUI, taskGrid);
|
||||
allTaskUIObjects[requestedTask] = newTaskUIObject;
|
||||
newTaskUIObject.SetTask(requestedTask);
|
||||
}
|
||||
public void SetTaskUI(Task requestedTask)
|
||||
{
|
||||
taskNameUI.text = requestedTask.taskName;
|
||||
taskDescriptionUI.text = requestedTask.description;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue