literally half of the game

This commit is contained in:
Sylvia 2026-08-27 04:07:01 -07:00
parent 1590b5faa6
commit b842289076
77 changed files with 11904 additions and 72 deletions

View file

@ -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;
}
}