Files
fnl/Assets/Scripts/SceneItemController.cs
2026-02-21 16:40:15 -08:00

46 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class SceneItemController : MonoBehaviour {
[SerializeField] public TextMeshProUGUI itemTitle;
[SerializeField] public TextMeshProUGUI itemDescription;
[SerializeField] public Image redTagImage;
Dialogue dialogue = Dialogue.None;
AssignedTaskInfo info = null;
public void SetSceneFields(Dialogue dialogue, Description description) {
this.dialogue = dialogue;
itemTitle.SetText(description.name);
itemDescription.SetText(description.description);
redTagImage.color = (VNData.RED_TAG_SCENES.Contains(dialogue)) ? Color.white : Color.clear;
}
public void SetTaskFields(AssignedTaskInfo info) {
this.info = info;
this.dialogue = info.dialogue;
itemTitle.SetText(info.name);
itemDescription.SetText(info.description);
redTagImage.color = (VNData.RED_TAG_SCENES.Contains(this.dialogue)) ? Color.white : Color.clear;
}
public void ShowScene() {
// Execute the gameplay effects of the task, if set.
if (info != null) {
GameData.GLOBAL.hunger += info.hunger;
GameData.GLOBAL.mood += info.mood;
GameData.GLOBAL.money += info.money;
GameData.GLOBAL.affection += info.affection;
GameData.GLOBAL.IncrementTime();
}
ManagerController manager = GameObject.FindWithTag("Notifier").GetComponent<ManagerController>();
GameData.GLOBAL.tasksDoneToday.Add(info.task);
VNData.NextScene = dialogue;
manager.TransitionToVNScene();
}
}