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

242 lines
6.0 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
// Token: 0x020000AA RID: 170
public class GameFeed : MonoBehaviour
{
// Token: 0x06000F9F RID: 3999 RVA: 0x0012E96C File Offset: 0x0012CB6C
private void Awake()
{
base.gameObject.SetActive(true);
this.currIndex = -1;
this.textList.text = "";
this.textColor = "<color #" + ColorUtility.ToHtmlStringRGB(this.textList.color) + ">";
}
// Token: 0x06000FA0 RID: 4000 RVA: 0x0012E9C1 File Offset: 0x0012CBC1
private void Start()
{
Links.x.gameFeed = this;
}
// Token: 0x06000FA1 RID: 4001 RVA: 0x0012E9D0 File Offset: 0x0012CBD0
public void SetState(int gameFeedState)
{
if (gameFeedState == 0)
{
this.isOn = false;
base.gameObject.transform.localScale = new Vector3(0f, 0f, 0f);
}
else
{
this.isOn = true;
base.gameObject.transform.localScale = new Vector3(1f, 1f, 1f);
}
if (gameFeedState == 2)
{
Records.x.showRulesetInfo = true;
return;
}
Records.x.showRulesetInfo = false;
}
// Token: 0x06000FA2 RID: 4002 RVA: 0x0012EA54 File Offset: 0x0012CC54
public void ShowNotice(string notice)
{
if (this.corout != null)
{
base.StopCoroutine(this.corout);
this.corout = null;
}
if (this.corout == null)
{
this.corout = this.Notice(notice);
base.StartCoroutine(this.Notice(notice));
}
this.noticeTextShowing = true;
}
// Token: 0x06000FA3 RID: 4003 RVA: 0x0012EAA8 File Offset: 0x0012CCA8
private bool Clicked()
{
return Input.GetMouseButtonDown(0) || (Links.x.joy && (Links.x.gameplay.cancelStart || Links.x.gameplay.actionStart || Links.x.gameplay.interactStart));
}
// Token: 0x06000FA4 RID: 4004 RVA: 0x0012EB01 File Offset: 0x0012CD01
private IEnumerator Notice(string notice)
{
this.noticeFakeText.text = notice;
this.contentFitter1.enabled = false;
this.contentFitter2.enabled = false;
this.horizGroup.enabled = false;
this.noticeText.text = "";
this.noticeText.enabled = true;
this.noticeFakeText.enabled = true;
this.noticeBackplate.enabled = true;
this.noticeBackplate.color = new Color(0f, 0f, 0f, 0f);
yield return new WaitForSecondsRealtime(0.0001f);
this.contentFitter1.enabled = true;
this.horizGroup.enabled = true;
yield return new WaitForSecondsRealtime(0.0001f);
this.contentFitter2.enabled = true;
yield return new WaitForSecondsRealtime(0.0001f);
this.noticeText.text = notice;
this.noticeBackplate.color = new Color(1f, 1f, 1f, 1f);
float timeToLerp = 3f;
float percentage = 0f;
float startTime = Time.realtimeSinceStartup;
while (percentage < 1f && !this.Clicked())
{
percentage = (Time.realtimeSinceStartup - startTime) / timeToLerp;
yield return null;
}
this.corout = null;
this.noticeText.text = "";
this.noticeText.enabled = false;
this.noticeFakeText.enabled = false;
this.noticeBackplate.enabled = false;
this.noticeTextShowing = false;
this.contentFitter1.enabled = false;
this.contentFitter2.enabled = false;
this.horizGroup.enabled = false;
yield break;
}
// Token: 0x06000FA5 RID: 4005 RVA: 0x0012EB18 File Offset: 0x0012CD18
public string GetPartyColorText(Character character)
{
int partyID = Links.x.GetPartyID(character);
if (partyID > -1 && partyID < 4)
{
return Links.x.GetPartyColor(partyID);
}
return this.textColor;
}
// Token: 0x06000FA6 RID: 4006 RVA: 0x0012EB4C File Offset: 0x0012CD4C
public void AddFeed(string txt)
{
if (this.entries > 60)
{
this.currFeed = "";
this.str.Clear();
int count = this.feedEntries.Count;
this.entries = 0;
for (int i = 0; i < count; i++)
{
if (i >= 10)
{
this.str.Append(this.feedEntries[i]);
this.entries++;
}
}
this.currFeed = this.str.ToString();
for (int j = 0; j < 10; j++)
{
this.feedEntries.RemoveAt(0);
}
}
this.entries++;
this.str.Clear();
this.str.Append("\n");
this.str.Append(txt);
string text = this.str.ToString();
this.str.Clear();
this.str.Append(this.currFeed);
this.str.Append(text);
this.feedEntries.Add(text);
this.currFeed = this.str.ToString();
this.textList.text = this.str.ToString();
this.currFeed = this.textList.text;
}
// Token: 0x06000FA7 RID: 4007 RVA: 0x0012ECA4 File Offset: 0x0012CEA4
public void ClearGameFeed()
{
this.textList.text = "";
}
// Token: 0x06000FA8 RID: 4008 RVA: 0x0012ECB6 File Offset: 0x0012CEB6
public void ReturnGameFeed()
{
if (this.textList)
{
this.textList.text = this.currFeed;
}
}
// Token: 0x06000FA9 RID: 4009 RVA: 0x0012ECD6 File Offset: 0x0012CED6
public void ClearFeed()
{
this.textList.text = "";
this.currFeed = "";
}
// Token: 0x040019D2 RID: 6610
public int currIndex;
// Token: 0x040019D3 RID: 6611
public TextMeshProUGUI textList;
// Token: 0x040019D4 RID: 6612
public string currFeed;
// Token: 0x040019D5 RID: 6613
public int entries;
// Token: 0x040019D6 RID: 6614
private StringFast str = new StringFast(64);
// Token: 0x040019D7 RID: 6615
private List<string> feedEntries = new List<string>();
// Token: 0x040019D8 RID: 6616
private string textColor;
// Token: 0x040019D9 RID: 6617
public GameObject noticeObject;
// Token: 0x040019DA RID: 6618
public TextMeshProUGUI noticeText;
// Token: 0x040019DB RID: 6619
public TextMeshProUGUI noticeFakeText;
// Token: 0x040019DC RID: 6620
public Image noticeBackplate;
// Token: 0x040019DD RID: 6621
private IEnumerator corout;
// Token: 0x040019DE RID: 6622
public bool noticeTextShowing;
// Token: 0x040019DF RID: 6623
public ContentSizeFitter contentFitter1;
// Token: 0x040019E0 RID: 6624
public ContentSizeFitter contentFitter2;
// Token: 0x040019E1 RID: 6625
public HorizontalLayoutGroup horizGroup;
// Token: 0x040019E2 RID: 6626
public bool showNotice;
// Token: 0x040019E3 RID: 6627
public bool isOn;
// Token: 0x040019E4 RID: 6628
public GameObject scrollbar;
// Token: 0x040019E5 RID: 6629
public TextMeshProUGUI scrollControllerImg;
// Token: 0x040019E6 RID: 6630
public ScrollRect scrollRect;
}