Add source files
This commit is contained in:
		
							
								
								
									
										378
									
								
								Projects/BanquetForFools/Source/Assembly-CSharp/DeathScreen.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										378
									
								
								Projects/BanquetForFools/Source/Assembly-CSharp/DeathScreen.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,378 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections;
 | 
			
		||||
using TMPro;
 | 
			
		||||
using UnityEngine;
 | 
			
		||||
using UnityEngine.EventSystems;
 | 
			
		||||
using UnityEngine.UI;
 | 
			
		||||
using UnityEngine.Video;
 | 
			
		||||
 | 
			
		||||
// Token: 0x020000A2 RID: 162
 | 
			
		||||
public class DeathScreen : MonoBehaviour
 | 
			
		||||
{
 | 
			
		||||
	// Token: 0x06000F36 RID: 3894 RVA: 0x001281FC File Offset: 0x001263FC
 | 
			
		||||
	public void Setup()
 | 
			
		||||
	{
 | 
			
		||||
		if (Links.x.sensory)
 | 
			
		||||
		{
 | 
			
		||||
			Records.x.SetTypingState(true);
 | 
			
		||||
			Links.x.gameplay.TogglePause(true);
 | 
			
		||||
			Records.x.RemoveControls(true);
 | 
			
		||||
		}
 | 
			
		||||
		this.startVideo.enabled = false;
 | 
			
		||||
		if (this.rt != null)
 | 
			
		||||
		{
 | 
			
		||||
			this.rt.Release();
 | 
			
		||||
		}
 | 
			
		||||
		RenderTextureFormat renderTextureFormat = RenderTextureFormat.Default;
 | 
			
		||||
		this.rt = new RenderTexture(1920, 1080, 24, renderTextureFormat);
 | 
			
		||||
		this.startVideo.targetTexture = this.rt;
 | 
			
		||||
		this.videoImg.texture = this.rt;
 | 
			
		||||
		this.done = false;
 | 
			
		||||
		this.skipText.enabled = false;
 | 
			
		||||
		RenderTexture active = RenderTexture.active;
 | 
			
		||||
		RenderTexture.active = this.rt;
 | 
			
		||||
		GL.Clear(true, true, Color.black);
 | 
			
		||||
		RenderTexture.active = active;
 | 
			
		||||
		if (!this.forDemo)
 | 
			
		||||
		{
 | 
			
		||||
			this.animator.Play("DeathScreenVideo");
 | 
			
		||||
		}
 | 
			
		||||
		Time.timeScale = 1f;
 | 
			
		||||
		if (this.forDemo)
 | 
			
		||||
		{
 | 
			
		||||
			this.WatchTrailer();
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		this.coroutineStart = this.VideoStart();
 | 
			
		||||
		base.StartCoroutine(this.coroutineStart);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F37 RID: 3895 RVA: 0x0012831F File Offset: 0x0012651F
 | 
			
		||||
	private IEnumerator VideoStart()
 | 
			
		||||
	{
 | 
			
		||||
		Links.x.gaia.PlayFade("Out", "Unscaled");
 | 
			
		||||
		yield return new WaitForSecondsRealtime(0.5f);
 | 
			
		||||
		RenderTexture active = RenderTexture.active;
 | 
			
		||||
		RenderTexture.active = this.startVideo.targetTexture;
 | 
			
		||||
		GL.Clear(true, true, Color.black);
 | 
			
		||||
		RenderTexture.active = active;
 | 
			
		||||
		Links.x.gaia.PlayFade("In", "Unscaled");
 | 
			
		||||
		if (Records.x.linux)
 | 
			
		||||
		{
 | 
			
		||||
			this.startVideo.clip = this.mmVideoStartLinux;
 | 
			
		||||
		}
 | 
			
		||||
		else if (!Records.x.linux && (Records.x.windows7 || Records.x.alwaysPlayTranscodedVideo))
 | 
			
		||||
		{
 | 
			
		||||
			this.startVideo.clip = this.mmVideoStartWindows7;
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			this.startVideo.clip = this.mmVideoStart;
 | 
			
		||||
		}
 | 
			
		||||
		if (this.forDemo)
 | 
			
		||||
		{
 | 
			
		||||
			this.startVideo.isLooping = true;
 | 
			
		||||
		}
 | 
			
		||||
		this.startVideo.targetTexture = this.rt;
 | 
			
		||||
		this.videoImg.texture = this.rt;
 | 
			
		||||
		this.startVideo.SetDirectAudioVolume(0, Links.x.options.musicVolume);
 | 
			
		||||
		RenderTexture active2 = RenderTexture.active;
 | 
			
		||||
		RenderTexture.active = this.startVideo.targetTexture;
 | 
			
		||||
		GL.Clear(true, true, Color.black);
 | 
			
		||||
		RenderTexture.active = active2;
 | 
			
		||||
		this.startVideo.enabled = true;
 | 
			
		||||
		this.startVideo.started += this.VideoStarted;
 | 
			
		||||
		this.startVideo.loopPointReached += this.EndReached;
 | 
			
		||||
		this.videoImg.enabled = true;
 | 
			
		||||
		yield break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F38 RID: 3896 RVA: 0x00128330 File Offset: 0x00126530
 | 
			
		||||
	private void Update()
 | 
			
		||||
	{
 | 
			
		||||
		float num = this.rectTransformBlack.sizeDelta.x;
 | 
			
		||||
		float num2 = this.rectTransformBlack.sizeDelta.y;
 | 
			
		||||
		float num3 = (float)Screen.width / (float)Screen.height;
 | 
			
		||||
		float num4 = 1.7777778f;
 | 
			
		||||
		if (num3 != num4)
 | 
			
		||||
		{
 | 
			
		||||
			if (num3 > num4)
 | 
			
		||||
			{
 | 
			
		||||
				num = num2 * num4;
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				num2 = num / num4;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		this.rectTransform.sizeDelta = new Vector2(num, num2);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F39 RID: 3897 RVA: 0x00128397 File Offset: 0x00126597
 | 
			
		||||
	public void VideoStarted(VideoPlayer vp)
 | 
			
		||||
	{
 | 
			
		||||
		base.StartCoroutine(this.VideoStarting());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F3A RID: 3898 RVA: 0x001283A6 File Offset: 0x001265A6
 | 
			
		||||
	private IEnumerator VideoStarting()
 | 
			
		||||
	{
 | 
			
		||||
		if (Time.timeScale > 0.5f)
 | 
			
		||||
		{
 | 
			
		||||
			Time.timeScale = 1f;
 | 
			
		||||
		}
 | 
			
		||||
		this.skipText.enabled = false;
 | 
			
		||||
		this.skipText.spriteAsset = Links.x.GetSpriteSheetAsset(Links.x.gameplay.currentSpriteSheetAsset);
 | 
			
		||||
		this.str.Clear();
 | 
			
		||||
		this.str.Append("Skip ");
 | 
			
		||||
		this.str.Append("   <voffset=.4em><size=50><sprite=");
 | 
			
		||||
		if (Links.x.mk)
 | 
			
		||||
		{
 | 
			
		||||
			int keyIconIndex = Links.x.keyControl.GetKeyIconIndex("LMB");
 | 
			
		||||
			this.str.Append(keyIconIndex);
 | 
			
		||||
			this.str.Append("></size></voffset>");
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			int controllerSprite = Links.x.gameplay.GetControllerSprite("Cancel", Links.x.gameplay.controllerName);
 | 
			
		||||
			this.str.Append(controllerSprite);
 | 
			
		||||
			this.str.Append("></size></voffset>");
 | 
			
		||||
		}
 | 
			
		||||
		this.skipText.text = this.str.ToString();
 | 
			
		||||
		float timeToLerp = 1f;
 | 
			
		||||
		float percentage = 0f;
 | 
			
		||||
		float startTime = Time.time;
 | 
			
		||||
		while (percentage < 1f)
 | 
			
		||||
		{
 | 
			
		||||
			if (Time.timeScale > 0.5f)
 | 
			
		||||
			{
 | 
			
		||||
				Time.timeScale = 1f;
 | 
			
		||||
			}
 | 
			
		||||
			percentage = (Time.time - startTime) / timeToLerp;
 | 
			
		||||
			yield return null;
 | 
			
		||||
		}
 | 
			
		||||
		this.skipText.enabled = true;
 | 
			
		||||
		timeToLerp = 6f;
 | 
			
		||||
		percentage = 0f;
 | 
			
		||||
		startTime = Time.time;
 | 
			
		||||
		while (percentage < 1f && !this.Clicked())
 | 
			
		||||
		{
 | 
			
		||||
			if (Time.timeScale > 0.5f)
 | 
			
		||||
			{
 | 
			
		||||
				Time.timeScale = 1f;
 | 
			
		||||
			}
 | 
			
		||||
			percentage = (Time.time - startTime) / timeToLerp;
 | 
			
		||||
			yield return null;
 | 
			
		||||
		}
 | 
			
		||||
		if (!this.done && !this.forDemo)
 | 
			
		||||
		{
 | 
			
		||||
			this.animator.Play("DeathScreenIn");
 | 
			
		||||
			this.SetFirstObject();
 | 
			
		||||
		}
 | 
			
		||||
		yield break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F3B RID: 3899 RVA: 0x001283B5 File Offset: 0x001265B5
 | 
			
		||||
	public void SetFirstObject()
 | 
			
		||||
	{
 | 
			
		||||
		this.skipText.enabled = false;
 | 
			
		||||
		if (Links.x.joy)
 | 
			
		||||
		{
 | 
			
		||||
			base.StartCoroutine(this.WaitToSetFirstObject());
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F3C RID: 3900 RVA: 0x001283DC File Offset: 0x001265DC
 | 
			
		||||
	private void OnDestroy()
 | 
			
		||||
	{
 | 
			
		||||
		if (this.rt != null)
 | 
			
		||||
		{
 | 
			
		||||
			this.rt.Release();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F3D RID: 3901 RVA: 0x001283F7 File Offset: 0x001265F7
 | 
			
		||||
	private IEnumerator WaitToSetFirstObject()
 | 
			
		||||
	{
 | 
			
		||||
		yield return new WaitForSeconds(0.1f);
 | 
			
		||||
		while (!this.loadBtn.activeSelf || !this.loadBtn.activeInHierarchy)
 | 
			
		||||
		{
 | 
			
		||||
			yield return null;
 | 
			
		||||
		}
 | 
			
		||||
		EventSystem.current.SetSelectedGameObject(this.loadBtn);
 | 
			
		||||
		this.loadBtn.GetComponent<UITriggerButton>().SetSelected(true);
 | 
			
		||||
		yield break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F3E RID: 3902 RVA: 0x00128406 File Offset: 0x00126606
 | 
			
		||||
	public void EndReached(VideoPlayer vp)
 | 
			
		||||
	{
 | 
			
		||||
		if (!this.forDemo)
 | 
			
		||||
		{
 | 
			
		||||
			vp.enabled = false;
 | 
			
		||||
			this.videoImg.enabled = false;
 | 
			
		||||
		}
 | 
			
		||||
		this.done = true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F3F RID: 3903 RVA: 0x0012842A File Offset: 0x0012662A
 | 
			
		||||
	public void DeathScreenOut()
 | 
			
		||||
	{
 | 
			
		||||
		Links.x.hudControl.JoyBox(false);
 | 
			
		||||
		this.startVideo.enabled = false;
 | 
			
		||||
		this.videoImg.enabled = false;
 | 
			
		||||
		this.animator.Play("DeathScreenOut");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F40 RID: 3904 RVA: 0x00128464 File Offset: 0x00126664
 | 
			
		||||
	public void DeathScreenOut2()
 | 
			
		||||
	{
 | 
			
		||||
		Links.x.hudControl.JoyBox(false);
 | 
			
		||||
		this.startVideo.enabled = false;
 | 
			
		||||
		this.videoImg.enabled = false;
 | 
			
		||||
		this.animator.Play("DeathScreenOut2");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F41 RID: 3905 RVA: 0x0012849E File Offset: 0x0012669E
 | 
			
		||||
	public void TurnOffScreen()
 | 
			
		||||
	{
 | 
			
		||||
		base.gameObject.SetActive(false);
 | 
			
		||||
		if (this.rt != null)
 | 
			
		||||
		{
 | 
			
		||||
			this.rt.Release();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F42 RID: 3906 RVA: 0x001284C8 File Offset: 0x001266C8
 | 
			
		||||
	private bool Clicked()
 | 
			
		||||
	{
 | 
			
		||||
		if (Links.x.joy)
 | 
			
		||||
		{
 | 
			
		||||
			if (Links.x.gameplay.cancelStart || Links.x.gameplay.actionStart || Links.x.gameplay.interactStart)
 | 
			
		||||
			{
 | 
			
		||||
				return true;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		else if (Input.GetMouseButtonUp(0) || Input.GetMouseButtonUp(1) || Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown(KeyCode.Return))
 | 
			
		||||
		{
 | 
			
		||||
			return true;
 | 
			
		||||
		}
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F43 RID: 3907 RVA: 0x0012853B File Offset: 0x0012673B
 | 
			
		||||
	public void ReturnToGame()
 | 
			
		||||
	{
 | 
			
		||||
		Records.x.RemoveControls(false);
 | 
			
		||||
		Links.x.gameplay.TogglePause(false);
 | 
			
		||||
		Records.x.SetTypingState(false);
 | 
			
		||||
		base.gameObject.SetActive(false);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F44 RID: 3908 RVA: 0x0012856F File Offset: 0x0012676F
 | 
			
		||||
	public void BuyGame()
 | 
			
		||||
	{
 | 
			
		||||
		if (Links.x.main)
 | 
			
		||||
		{
 | 
			
		||||
			EventSystem.current.SetSelectedGameObject(null);
 | 
			
		||||
		}
 | 
			
		||||
		Application.OpenURL("https://banquetforfools.com/");
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F45 RID: 3909 RVA: 0x00128597 File Offset: 0x00126797
 | 
			
		||||
	public void WatchTrailer()
 | 
			
		||||
	{
 | 
			
		||||
		this.animator.Play("DemoScreenTrailer");
 | 
			
		||||
		if (Links.x.mk)
 | 
			
		||||
		{
 | 
			
		||||
			EventSystem.current.SetSelectedGameObject(null);
 | 
			
		||||
		}
 | 
			
		||||
		base.StartCoroutine(this.TrailerStart());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F46 RID: 3910 RVA: 0x001285CD File Offset: 0x001267CD
 | 
			
		||||
	private IEnumerator TrailerStart()
 | 
			
		||||
	{
 | 
			
		||||
		RenderTextureFormat renderTextureFormat = RenderTextureFormat.ARGB32;
 | 
			
		||||
		this.rt = new RenderTexture(1920, 1080, 24, renderTextureFormat);
 | 
			
		||||
		this.startVideo.targetTexture = this.rt;
 | 
			
		||||
		this.videoImg.texture = this.rt;
 | 
			
		||||
		this.startVideo.isLooping = false;
 | 
			
		||||
		this.startVideo.SetDirectAudioVolume(0, Links.x.options.musicVolume);
 | 
			
		||||
		yield return new WaitForSecondsRealtime(0.25f);
 | 
			
		||||
		this.startVideo.enabled = true;
 | 
			
		||||
		this.startVideo.loopPointReached += this.TrailerEndReached;
 | 
			
		||||
		this.videoImg.enabled = true;
 | 
			
		||||
		yield break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x06000F47 RID: 3911 RVA: 0x001285DC File Offset: 0x001267DC
 | 
			
		||||
	public void TrailerEndReached(VideoPlayer vp)
 | 
			
		||||
	{
 | 
			
		||||
		this.coroutineStart = this.VideoStart();
 | 
			
		||||
		base.StartCoroutine(this.coroutineStart);
 | 
			
		||||
		this.animator.Play("DemoScreenIn", 0, 0f);
 | 
			
		||||
		this.startVideo.loopPointReached -= this.TrailerEndReached;
 | 
			
		||||
		this.startVideo.isLooping = true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Token: 0x040018FE RID: 6398
 | 
			
		||||
	public VideoPlayer startVideo;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x040018FF RID: 6399
 | 
			
		||||
	public VideoPlayer loopVideo;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001900 RID: 6400
 | 
			
		||||
	public VideoClip mmVideoStart;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001901 RID: 6401
 | 
			
		||||
	public VideoClip mmVideoStartLinux;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001902 RID: 6402
 | 
			
		||||
	public VideoClip mmVideoStartWindows7;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001903 RID: 6403
 | 
			
		||||
	public VideoClip trailerVideo;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001904 RID: 6404
 | 
			
		||||
	public VideoClip trailerVideoLinux;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001905 RID: 6405
 | 
			
		||||
	public RawImage videoImg;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001906 RID: 6406
 | 
			
		||||
	private RenderTexture rt;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001907 RID: 6407
 | 
			
		||||
	private IEnumerator coroutineStart;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001908 RID: 6408
 | 
			
		||||
	public Animator animator;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001909 RID: 6409
 | 
			
		||||
	private int clickCount;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x0400190A RID: 6410
 | 
			
		||||
	private float clickTime;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x0400190B RID: 6411
 | 
			
		||||
	private bool done;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x0400190C RID: 6412
 | 
			
		||||
	public bool forDemo;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x0400190D RID: 6413
 | 
			
		||||
	public RectTransform rectTransform;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x0400190E RID: 6414
 | 
			
		||||
	public RectTransform rectTransformBlack;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x0400190F RID: 6415
 | 
			
		||||
	public GameObject loadBtn;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001910 RID: 6416
 | 
			
		||||
	public TextMeshProUGUI skipText;
 | 
			
		||||
 | 
			
		||||
	// Token: 0x04001911 RID: 6417
 | 
			
		||||
	private StringFast str = new StringFast(32);
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user