Insanely huge initial commit

This commit is contained in:
2026-02-21 17:04:05 -08:00
parent 9cdd36191a
commit 613d75914a
22525 changed files with 4035207 additions and 0 deletions

View File

@@ -0,0 +1,96 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using Michsky.MUIP;
using TMPro;
using Febucci.UI;
public class DialogueController : MonoBehaviour, IPointerClickHandler {
[SerializeField] TextMeshProUGUI textTMPro;
[SerializeField] TextMeshProUGUI nameTMPro;
[SerializeField] TextAnimatorPlayer typer;
[SerializeField] ButtonManager button;
[SerializeField] RectTransform optionMenu;
[SerializeField] bool clickAnywhere = false;
[SerializeField] VNController vn = null;
[HideInInspector] List<DialogueInteraction> interactions;
[HideInInspector] public int dialogueIndex = 0;
// Whether to use VNData.NextScene or to pick a random Manager scene
// for the given SidePiece.
[SerializeField] bool chooseManagerScene = false;
private void Interact() {
if (dialogueIndex >= interactions.Count && optionMenu != null) {
optionMenu.gameObject.SetActive(true);
return;
}
if (dialogueIndex >= interactions.Count) {
vn.Done();
return;
}
DialogueInteraction d = interactions[dialogueIndex];
if (vn != null) {
vn.Interact(d);
}
nameTMPro.SetText(d.name);
textTMPro.SetText(d.text);
if (d.unlock != Unlockable.None) {
GameData.Unlock(d.unlock);
}
dialogueIndex += 1;
}
public void NextButtonPressed() {
if (typer.textAnimator.allLettersShown) {
if (button.enabled) {
button.enabled = false;
}
Interact();
} else {
typer.SkipTypewriter();
}
}
public void OnPointerClick(PointerEventData eventData) {
if (clickAnywhere) {
NextButtonPressed();
}
}
// Start is called before the first frame update
void Start()
{
if (clickAnywhere) {
button.gameObject.SetActive(false);
} else {
button.enabled = false;
}
if (optionMenu != null) {
optionMenu.gameObject.SetActive(false);
}
if (chooseManagerScene) {
VNData.NextScene = VNData.GetRandomManagerScene(GameData.GLOBAL.sidePiece);
}
// The scene to play is pre-loaded here.
interactions = VNData.DIALOGUE[VNData.NextScene];
GameData.GLOBAL.viewedScenes.Add(VNData.NextScene);
vn.SetUp(VNData.NextScene);
Interact();
}
// Update is called once per frame
void Update()
{
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d33d7fc2a127484428ab8e80ea62bd10
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,123 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Com.LuisPedroFonseca.ProCamera2D;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class ManagerController : MonoBehaviour {
[SerializeField] ProCamera2DTransitionsFX transition;
[SerializeField] string mainGameSceneName;
[SerializeField] string mainMenuSceneName;
[SerializeField] string sceneViewerSceneName;
[SerializeField] string managerSceneName;
[SerializeField] RectTransform menuBox;
[SerializeField] RectTransform dialogueBox;
[SerializeField] RectTransform optionPicker;
[SerializeField] RectTransform scenePicker;
[SerializeField] RectTransform sidePiecePicker;
[SerializeField] VerticalLayoutGroup scenePickerList;
[SerializeField] RectTransform iridaPickButton;
[SerializeField] RectTransform clemPickButton;
[SerializeField] RectTransform schroderPickButton;
[SerializeField] GameObject ScenePickerButtonProto;
private void Start() {
transition.TransitionEnter();
}
public void SaveButtonPressed() {
Debug.Log("TODO: Autosave toggle as option");
GameData.Save();
Debug.Log("TODO: Play a save noise");
}
public void OptionScenePickerPressed() {
foreach (Transform child in scenePickerList.transform) {
Destroy(child.gameObject);
}
// Get all unlocked scenes.
foreach (Dialogue d in VNData.DIALOGUE_DESCRIPTIONS.Keys) {
if (!VNData.UNLOCKABLES.ContainsKey(d) ||
GameData.IsUnlocked(VNData.UNLOCKABLES[d])) {
ViewSceneButtonController newButton = Instantiate(ScenePickerButtonProto).GetComponent<ViewSceneButtonController>();
newButton.SetUp(d);
newButton.transform.SetParent(scenePickerList.transform);
}
}
scenePicker.gameObject.SetActive(true);
optionPicker.gameObject.SetActive(false);
}
public void OnChangeSidePiecePressed() {
optionPicker.gameObject.SetActive(false);
sidePiecePicker.gameObject.SetActive(true);
iridaPickButton.gameObject.SetActive(GameData.IsPlayerUnlocked(Employee.Irida));
clemPickButton.gameObject.SetActive(GameData.IsPlayerUnlocked(Employee.Clem));
schroderPickButton.gameObject.SetActive(GameData.IsPlayerUnlocked(Employee.Schroder));
}
public void SidePiecePickerBackPressed() {
optionPicker.gameObject.SetActive(true);
sidePiecePicker.gameObject.SetActive(false);
}
public void ScenePickerBackPressed() {
scenePicker.gameObject.SetActive(false);
optionPicker.gameObject.SetActive(true);
}
public void PickSidePiece(int e) {
// Why does Modern UI Pack not support enums?!
GameData.GLOBAL.sidePiece = (Employee)e;
transition.OnTransitionExitEnded = ResetManager;
StartTransition();
}
void MainMenu() {
SceneManager.LoadScene(mainMenuSceneName);
}
void NextDay() {
SceneManager.LoadScene(mainGameSceneName);
}
void ShowVNScene() {
SceneManager.LoadScene(sceneViewerSceneName);
}
void ResetManager() {
SceneManager.LoadScene(managerSceneName);
}
void StartTransition() {
transition.TransitionExit();
menuBox.gameObject.SetActive(false);
dialogueBox.gameObject.SetActive(false);
}
public void SceneViewButtonPressed(Dialogue scene) {
VNData.NextScene = scene;
transition.OnTransitionExitEnded = ShowVNScene;
StartTransition();
Debug.Log("TODO: Make a sound");
}
public void NextDayPressed() {
transition.OnTransitionExitEnded = NextDay;
StartTransition();
Debug.Log("TODO: Make a sound");
}
public void MainMenuPressed() {
Debug.Log("TODO: Maybe add save-first confirmation, or auto-save");
transition.OnTransitionExitEnded = MainMenu;
StartTransition();
Debug.Log("TODO: Make a sound");
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7621006841812f845b79853f76fc080c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,24 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class ViewSceneButtonController : MonoBehaviour {
[HideInInspector] public Dialogue scene;
[HideInInspector] public bool isNewScene = false;
[SerializeField] TextMeshProUGUI sceneNameText;
public void SetUp(Dialogue sceneId) {
scene = sceneId;
sceneNameText.SetText(VNData.DIALOGUE_DESCRIPTIONS[sceneId].name);
isNewScene = GameData.GLOBAL.viewedScenes.Contains(sceneId);
}
public void ViewButtonClicked() {
Debug.Log("TODO: Look up and use DIALOGUE_DESCRIPTIONS[scene].warnings");
Debug.Log("TODO: Look up and use DIALOGUE_DESCRIPTIONS[scene].description");
ManagerController manager = GameObject.FindGameObjectWithTag("Manager").GetComponent<ManagerController>();
manager.SceneViewButtonPressed(scene);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 40b4c3e5be8c3e347a555eb8a5641b7d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: