Files
BepInEx/Projects/BanquetForFools/Source/Assembly-CSharp/InputControls.cs
2025-05-21 20:40:04 +02:00

425 lines
12 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Pathfinding;
using PixelCrushers.DialogueSystem;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
// Token: 0x020000B2 RID: 178
public class InputControls : MonoBehaviour
{
// Token: 0x0600107F RID: 4223 RVA: 0x0013B7AA File Offset: 0x001399AA
private void Awake()
{
this.child.SetActive(false);
}
// Token: 0x06001080 RID: 4224 RVA: 0x0013B7B8 File Offset: 0x001399B8
private void Start()
{
if (!Records.x.secrets && !Records.x.editor)
{
base.enabled = false;
this.child.SetActive(false);
}
if (base.enabled)
{
this.Lists();
}
Links.x.gameplay.SetInteractableSelected(EventSystem.current, this.exitButton);
}
// Token: 0x06001081 RID: 4225 RVA: 0x0013B818 File Offset: 0x00139A18
public void Lists()
{
string[] names = Enum.GetNames(typeof(MapExit.exitToNames));
this.sceneDropdown.options.Clear();
foreach (string text in names)
{
this.sceneDropdown.options.Add(new TMP_Dropdown.OptionData(text));
}
string[] names2 = Enum.GetNames(typeof(SceneItem.xmlNames));
this.itemDropdown.options.Clear();
foreach (string text2 in names2)
{
this.itemDropdown.options.Add(new TMP_Dropdown.OptionData(text2));
}
this.questDropdown.options.Clear();
foreach (string text3 in QuestLog.GetAllQuests(QuestState.Unassigned, true, null))
{
this.questDropdown.options.Add(new TMP_Dropdown.OptionData(text3));
}
string[] names3 = Enum.GetNames(typeof(Creatures.AdventureStates));
this.questStateDropdown.options.Clear();
foreach (string text4 in names3)
{
this.questStateDropdown.options.Add(new TMP_Dropdown.OptionData(text4));
}
}
// Token: 0x06001082 RID: 4226 RVA: 0x0013B944 File Offset: 0x00139B44
public void NewScene()
{
if (base.enabled)
{
this.jumpPoints.Clear();
this.pointsDropdown.options.Clear();
if (Links.x.diorama.playerStartDefault)
{
this.jumpPoints.Add(Links.x.diorama.playerStartDefault);
this.pointsDropdown.options.Add(new TMP_Dropdown.OptionData("Start"));
}
if (Links.x.diorama.playerStartBoatDefault)
{
this.jumpPoints.Add(Links.x.diorama.playerStartBoatDefault);
this.pointsDropdown.options.Add(new TMP_Dropdown.OptionData("Start Boat"));
}
foreach (object obj in Links.x.diorama.gameObject.transform)
{
Transform transform = (Transform)obj;
if (transform.gameObject.name.Contains("Jump"))
{
this.pointsDropdown.options.Add(new TMP_Dropdown.OptionData(transform.gameObject.name));
this.jumpPoints.Add(transform);
}
}
}
}
// Token: 0x06001083 RID: 4227 RVA: 0x0013BAA4 File Offset: 0x00139CA4
public void ChangeToStun()
{
if (Records.x.kill)
{
Links.x.hudControl.ToggleLethality(false);
}
}
// Token: 0x06001084 RID: 4228 RVA: 0x0013BAC2 File Offset: 0x00139CC2
public void ChangeToKill()
{
if (!Records.x.kill)
{
Links.x.hudControl.ToggleLethality(false);
}
}
// Token: 0x06001085 RID: 4229 RVA: 0x0013BAE0 File Offset: 0x00139CE0
public void EndCombat()
{
this.ChangeToKill();
Links.x.combat.EndCombatFromTestScreen();
}
// Token: 0x06001086 RID: 4230 RVA: 0x0013BAF7 File Offset: 0x00139CF7
public void EndCombatStun()
{
this.ChangeToStun();
Links.x.combat.EndCombatFromTestScreen();
}
// Token: 0x06001087 RID: 4231 RVA: 0x0013BB0E File Offset: 0x00139D0E
public void AddOneHour()
{
if (!Records.x.paused)
{
Links.x.gameplay.TogglePause(true);
}
Links.x.gameplay.AddHours();
}
// Token: 0x06001088 RID: 4232 RVA: 0x0013BB3B File Offset: 0x00139D3B
public void Close()
{
this.closeNext = true;
}
// Token: 0x06001089 RID: 4233 RVA: 0x0013BB44 File Offset: 0x00139D44
private void Update()
{
if (Links.x.gaia.sceneLoaded && (!Records.x.typing || (Records.x.typing && this.child.activeSelf)))
{
if (Input.GetKeyDown(KeyCode.Alpha6) || this.closeNext)
{
if (this.child.activeSelf)
{
this.closeNext = false;
this.child.SetActive(false);
Records.x.SetTypingState(false);
if (!this.startedPaused)
{
Links.x.gameplay.TogglePause(false);
}
}
else
{
this.closeNext = false;
this.startedPaused = Records.x.paused;
this.child.SetActive(true);
Records.x.SetTypingState(true);
Links.x.gameplay.TogglePause(true);
}
}
if (this.child.activeSelf)
{
Records.x.SetTypingState(true);
}
}
}
// Token: 0x0600108A RID: 4234 RVA: 0x0013BC3F File Offset: 0x00139E3F
public void CheckJumpPoint()
{
base.StartCoroutine(this.Jump());
}
// Token: 0x0600108B RID: 4235 RVA: 0x0013BC4E File Offset: 0x00139E4E
private IEnumerator Jump()
{
int value = this.pointsDropdown.value;
Transform t = this.jumpPoints[value];
if (t)
{
int desiredGraph = 0;
if (t.gameObject.name.Contains("Inside"))
{
desiredGraph = 1;
}
if (t.gameObject.name.Contains("inside"))
{
desiredGraph = 1;
}
if (Links.x.diorama.underground)
{
desiredGraph = 1;
}
List<Character> party = Links.x.party;
int num;
for (int i = 0; i < party.Count; i = num + 1)
{
Character character = party[i];
if (character && !character.isBoro)
{
GraphNode graphNode = character.NearNode(t.position, true, 0, desiredGraph, 0);
if (graphNode != null)
{
Links.x.sensory.SetMagicaClothState(false);
character.SetPosition((Vector3)graphNode.position, null);
character.ClaimNode(graphNode, (Vector3)graphNode.position, true);
character.sphere.transform.position = t.position;
if (character.circleTr)
{
character.circleTr.position = character.tr.position;
}
character.SetMoveFollowPosition((Vector3)graphNode.position);
character.indoorID = "";
character.doorID = "";
if (desiredGraph == 1)
{
if (Links.x.diorama.GetIndoorView())
{
character.indoorID = Links.x.diorama.GetIndoorView().GetInteriorBoundsName((Vector3)graphNode.position);
}
else
{
character.indoorID = "?";
}
character.doorID = "";
}
if (Records.x.circle)
{
Links.x.fellowship.BreakCircle(false);
}
character.ChangeTorchLight();
character.TargetReached();
if (character.mainSelected)
{
character.StopMoving();
if (character.cc)
{
character.cc.enabled = false;
}
}
character.FirstPosition(graphNode);
if (character == Links.x.main)
{
Links.x.cameraEffects.ToggleInteriorExterior(Links.x.main);
bool isFollowing = Links.x.rtsCamera.IsFollowing;
Links.x.rtsCamera.Follow(Links.x.main.tr, Links.x.main, true);
Links.x.rtsCamera.JumpTo(Links.x.main.tr, true);
}
yield return new WaitForSecondsRealtime(0.01f);
if (character.mainSelected && character.cc)
{
character.cc.enabled = true;
}
Links.x.sensory.SetMagicaClothState(true);
}
else
{
Links.x.gameFeed.AddFeed("Points not found");
}
}
character = null;
num = i;
}
party = null;
}
yield return new WaitForSecondsRealtime(1f);
if (Records.x.combat)
{
Links.x.combat.EndCombat(false);
}
yield break;
}
// Token: 0x0600108C RID: 4236 RVA: 0x0013BC60 File Offset: 0x00139E60
public void Rally()
{
Links.x.fellowship.rally = 15f;
Links.x.fellowship.rallyBoost = 30f;
Links.x.fellowship.rallyAttacks = 4f;
Links.x.hudControl.SetRallyBars();
}
// Token: 0x0600108D RID: 4237 RVA: 0x0013BCB8 File Offset: 0x00139EB8
public void LevelUp()
{
List<Character> portraitOrder = Links.x.portraitOrder;
for (int i = 0; i < portraitOrder.Count; i++)
{
if (portraitOrder[i] && !portraitOrder[i].dead && !portraitOrder[i].summoned && !portraitOrder[i].isBoro)
{
int num = portraitOrder[i].stats.XPToNextLevel();
portraitOrder[i].stats.AddXP(num, null, true);
}
}
}
// Token: 0x0600108E RID: 4238 RVA: 0x0013BD40 File Offset: 0x00139F40
public void LevelUpStats()
{
List<Character> portraitOrder = Links.x.portraitOrder;
for (int i = 0; i < portraitOrder.Count; i++)
{
if (portraitOrder[i] && !portraitOrder[i].dead && !portraitOrder[i].summoned && !portraitOrder[i].isBoro)
{
portraitOrder[i].stats.XPToNextLevel();
portraitOrder[i].stats.LevelUpStats();
}
}
}
// Token: 0x0600108F RID: 4239 RVA: 0x0013BDC4 File Offset: 0x00139FC4
public void CheckMapExit()
{
string text = this.sceneDropdown.options[this.sceneDropdown.value].text;
Links.x.gaia.ChangeSceneFromOverworld(text, Links.x.diorama.sceneName);
}
// Token: 0x06001090 RID: 4240 RVA: 0x0013BE14 File Offset: 0x0013A014
public void CheckEndItem(GameObject obj)
{
string text = obj.transform.parent.GetChild(2).gameObject.GetComponent<TextMeshProUGUI>().text;
if (text == "")
{
Links.x.gameFeed.AddFeed("Not found");
return;
}
Library.Inventory invRowFromName = Links.x.library.GetInvRowFromName(text);
if (invRowFromName != null)
{
Character main = Links.x.main;
float num = 0f;
if (invRowFromName._DurabilityMax > 0)
{
num = (float)invRowFromName._DurabilityMax;
}
if (invRowFromName._Stackable)
{
if (text == "Emeralds")
{
global::Item item;
ItemEquipped itemEquipped;
Links.x.inventory.AddFromGround(null, null, 0, false, 0f, invRowFromName._ID, 1000, new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, -1f), new Vector4(0f, 0f, 0f, 0f), main, true, false, out item, out itemEquipped);
}
else
{
global::Item item2;
ItemEquipped itemEquipped2;
Links.x.inventory.AddFromGround(null, null, 0, false, 0f, invRowFromName._ID, invRowFromName._MaxStackSize, new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, -1f), new Vector4(num, 0f, 0f, 0f), main, true, false, out item2, out itemEquipped2);
}
}
else
{
global::Item item3;
ItemEquipped itemEquipped3;
Links.x.inventory.AddFromGround(null, null, 0, false, 0f, invRowFromName._ID, 1, new Vector3(-1f, -1f, -1f), new Vector3(-1f, -1f, -1f), new Vector4(num, 0f, 0f, 0f), main, true, false, out item3, out itemEquipped3);
}
Links.x.gameFeed.AddFeed(invRowFromName._DisplayName + " added to bag");
return;
}
Links.x.gameFeed.AddFeed("Not found");
}
// Token: 0x06001091 RID: 4241 RVA: 0x0013C029 File Offset: 0x0013A229
public void SetQuestState()
{
string text = this.questDropdown.options[this.questDropdown.value].text;
}
// Token: 0x06001092 RID: 4242 RVA: 0x0013C04C File Offset: 0x0013A24C
public void CheckEndQuest()
{
string text = this.questDropdown.options[this.questDropdown.value].text;
string text2 = this.questStateDropdown.options[this.questStateDropdown.value].text;
if (text != "None" && text2 != "NotApplicable")
{
QuestLog.SetQuestState(text, Records.x.StringToQuestState(text2));
Links.x.gameFeed.AddFeed("Set quest state: " + text + " to " + text2);
Links.x.diorama.CheckQuestActivations();
}
}
// Token: 0x04001B6E RID: 7022
public GameObject child;
// Token: 0x04001B6F RID: 7023
public TextMeshProUGUI questStatus;
// Token: 0x04001B70 RID: 7024
public TextMeshProUGUI variableStatus;
// Token: 0x04001B71 RID: 7025
private float originalTurnLength;
// Token: 0x04001B72 RID: 7026
public TMP_Dropdown sceneDropdown;
// Token: 0x04001B73 RID: 7027
public TMP_Dropdown itemDropdown;
// Token: 0x04001B74 RID: 7028
public TMP_Dropdown questDropdown;
// Token: 0x04001B75 RID: 7029
public TMP_Dropdown questStateDropdown;
// Token: 0x04001B76 RID: 7030
public TMP_Dropdown pointsDropdown;
// Token: 0x04001B77 RID: 7031
private bool startedPaused;
// Token: 0x04001B78 RID: 7032
private List<Transform> jumpPoints = new List<Transform>();
// Token: 0x04001B79 RID: 7033
private bool closeNext;
// Token: 0x04001B7A RID: 7034
public GameObject exitButton;
}