Files
fnl/Assets/Scripts/ScenePickerController.cs

47 lines
1.7 KiB
C#
Raw Normal View History

2026-02-21 16:40:15 -08:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScenePickerController : MonoBehaviour {
[SerializeField] Transform verticalLayoutGroup;
[SerializeField] GameObject SceneItemPrefab;
public enum LoadType {
TASK,
SCENE
};
[SerializeField] LoadType loadType = LoadType.TASK;
public void SetUp() {
while (verticalLayoutGroup.childCount > 0) {
DestroyImmediate(verticalLayoutGroup.GetChild(0).gameObject);
}
if (loadType == LoadType.TASK) {
foreach (AssignedTask task in System.Enum.GetValues(typeof(AssignedTask))) {
if (task == AssignedTask.None)
continue;
if (task != AssignedTask.Clean &&
task != AssignedTask.Games &&
GameData.GLOBAL.tasksDoneToday.Contains(task)) {
continue;
}
AssignedTaskInfo info = VNData.GetCurrentUnlockedVersionOf(task);
if (info != null) {
GameObject item = Instantiate(SceneItemPrefab);
item.GetComponent<SceneItemController>().SetTaskFields(info);
item.transform.SetParent(verticalLayoutGroup);
}
}
} else {
foreach (Dialogue dialogue in GameData.GLOBAL.viewedScenes) {
if (!VNData.DIALOGUE_DESCRIPTIONS.ContainsKey(dialogue))
continue;
GameObject item = Instantiate(SceneItemPrefab);
item.GetComponent<SceneItemController>().SetSceneFields(dialogue, VNData.DIALOGUE_DESCRIPTIONS[dialogue]);
item.transform.SetParent(verticalLayoutGroup);
}
}
}
}