929 lines
21 KiB
C#
929 lines
21 KiB
C#
using System;
|
|
using System.Collections;
|
|
using DarkTonic.MasterAudio;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
// Token: 0x020000CF RID: 207
|
|
public class QTE : MonoBehaviour
|
|
{
|
|
// Token: 0x06001322 RID: 4898 RVA: 0x00172530 File Offset: 0x00170730
|
|
public void StartQTE(string type, float customTimeScale)
|
|
{
|
|
this.eventType = type;
|
|
this.resurrecting = false;
|
|
if (this.listen != null)
|
|
{
|
|
base.StopCoroutine(this.listen);
|
|
}
|
|
this.clicked = false;
|
|
this.canClick = false;
|
|
this.completed = false;
|
|
this.canComplete = false;
|
|
this.main = Links.x.main;
|
|
this.startHitCount = Links.x.main.stats.hitCount;
|
|
this.startPosition = this.main.currentPosition;
|
|
this.raycastBlocker.enabled = false;
|
|
this.show = Links.x.options.rallyTimePrompt;
|
|
if (!Records.x.editor)
|
|
{
|
|
this.debug = false;
|
|
}
|
|
this.animator.enabled = false;
|
|
this.moonPunch.SetActive(false);
|
|
this.moonPunchSuccess.SetActive(false);
|
|
this.moonPunchFail.SetActive(false);
|
|
this.closeInScaler.SetActive(false);
|
|
this.closeInHit.SetActive(false);
|
|
this.closeInMiss.SetActive(false);
|
|
this.closeInOutside.SetActive(false);
|
|
this.closeInInside.SetActive(false);
|
|
this.line.SetActive(false);
|
|
this.lineSuccess.SetActive(false);
|
|
this.lineFail.SetActive(false);
|
|
if (type == "ATB")
|
|
{
|
|
this.animator.Play("QTE_ActionClick", -1, 0f);
|
|
this.listen = this.ListenForClick1();
|
|
base.StartCoroutine(this.listen);
|
|
}
|
|
if (type == "Revive")
|
|
{
|
|
this.listen = this.ListenForRevive2();
|
|
base.StartCoroutine(this.listen);
|
|
}
|
|
if (type == "Spirit1")
|
|
{
|
|
this.listen = this.ListenForClick2();
|
|
base.StartCoroutine(this.listen);
|
|
}
|
|
if (type == "MoonPunch")
|
|
{
|
|
this.listen = this.ListenForClickMoonPunch(customTimeScale);
|
|
base.StartCoroutine(this.listen);
|
|
}
|
|
if (type == "Line")
|
|
{
|
|
this.listen = this.ListenForClickLine();
|
|
base.StartCoroutine(this.listen);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06001323 RID: 4899 RVA: 0x00172750 File Offset: 0x00170950
|
|
public void Reset()
|
|
{
|
|
this.closeInOutside.SetActive(false);
|
|
this.closeInInside.SetActive(false);
|
|
this.closeInScaler.SetActive(false);
|
|
this.closeInHit.SetActive(false);
|
|
this.closeInMiss.SetActive(false);
|
|
this.closeInAnimEarlyOut.enabled = false;
|
|
}
|
|
|
|
// Token: 0x06001324 RID: 4900 RVA: 0x001727A8 File Offset: 0x001709A8
|
|
private bool Clicked()
|
|
{
|
|
if (Links.x.joy)
|
|
{
|
|
if (Links.x.gameplay.cancelStart || Links.x.gameplay.actionDown || Links.x.gameplay.actionStart || Links.x.gameplay.actionUp || Links.x.gameplay.interactStart)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (Input.GetMouseButtonDown(0) || Input.GetMouseButton(0) || Input.GetMouseButtonUp(0))
|
|
{
|
|
return true;
|
|
}
|
|
if (Input.anyKey)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// Token: 0x06001325 RID: 4901 RVA: 0x0017283C File Offset: 0x00170A3C
|
|
private bool Holding()
|
|
{
|
|
if (Links.x.joy)
|
|
{
|
|
if (Links.x.gameplay.actionDown)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (Input.GetMouseButton(0))
|
|
{
|
|
return true;
|
|
}
|
|
if (Input.anyKey)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// Token: 0x06001326 RID: 4902 RVA: 0x00172874 File Offset: 0x00170A74
|
|
public bool Holding2()
|
|
{
|
|
if (Links.x.joy)
|
|
{
|
|
if (Links.x.gameplay.actionDown || Links.x.gameplay.actionStart || Links.x.gameplay.actionUp)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else if (Input.GetMouseButton(0) || Input.GetMouseButtonDown(0) || Input.GetMouseButtonUp(0))
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
// Token: 0x06001327 RID: 4903 RVA: 0x001728DD File Offset: 0x00170ADD
|
|
public void CanClick()
|
|
{
|
|
this.canClick = true;
|
|
}
|
|
|
|
// Token: 0x06001328 RID: 4904 RVA: 0x001728E6 File Offset: 0x00170AE6
|
|
private IEnumerator ListenForClick2()
|
|
{
|
|
this.listenerCloseIn.canClick = false;
|
|
this.listenerCloseIn.finished = false;
|
|
this.raycastBlocker.enabled = true;
|
|
this.closeOutsideSprite.color = Color.white;
|
|
this.clicked = false;
|
|
bool failed = false;
|
|
while (this.Holding())
|
|
{
|
|
yield return null;
|
|
}
|
|
this.closeInOutside.SetActive(true);
|
|
this.closeInInside.SetActive(true);
|
|
this.closeInScaler.SetActive(true);
|
|
this.closeInAnimEarlyOut.enabled = false;
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
while (!this.listenerCloseIn.canClick && !failed)
|
|
{
|
|
if (this.Clicked())
|
|
{
|
|
failed = true;
|
|
}
|
|
yield return null;
|
|
}
|
|
if (failed && this.closeInScalar.GetCurrentAnimatorStateInfo(0).normalizedTime < 0.47f)
|
|
{
|
|
this.closeInAnimEarlyOut.enabled = true;
|
|
}
|
|
if (this.Clicked())
|
|
{
|
|
this.clicked = true;
|
|
}
|
|
while (this.listenerCloseIn.canClick && !failed && !this.clicked)
|
|
{
|
|
if (this.Clicked())
|
|
{
|
|
this.clicked = true;
|
|
}
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
yield return null;
|
|
}
|
|
if (!this.clicked)
|
|
{
|
|
failed = true;
|
|
}
|
|
if (failed)
|
|
{
|
|
this.closeInInside.SetActive(false);
|
|
this.closeInMiss.SetActive(true);
|
|
}
|
|
if (this.clicked)
|
|
{
|
|
this.closeInHit.SetActive(true);
|
|
}
|
|
this.raycastBlocker.enabled = false;
|
|
if (failed)
|
|
{
|
|
this.bonus = 1f;
|
|
}
|
|
else
|
|
{
|
|
this.bonus = 2f;
|
|
}
|
|
this.playing = false;
|
|
if (failed)
|
|
{
|
|
float timeToLerp = 0.5f;
|
|
float percentage = 0f;
|
|
float startTime = Time.time;
|
|
while (percentage < 1f)
|
|
{
|
|
percentage = (Time.time - startTime) / timeToLerp;
|
|
this.closeOutsideSprite.color = Color.Lerp(Color.white, Color.clear, percentage);
|
|
yield return null;
|
|
}
|
|
timeToLerp = 0.5f;
|
|
percentage = 0f;
|
|
startTime = Time.time;
|
|
while (percentage < 1f)
|
|
{
|
|
percentage = (Time.time - startTime) / timeToLerp;
|
|
yield return null;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
float startTime = 0.5f;
|
|
float percentage = 0f;
|
|
float timeToLerp = Time.time;
|
|
while (percentage < 1f)
|
|
{
|
|
percentage = (Time.time - timeToLerp) / startTime;
|
|
this.closeOutsideSprite.color = Color.Lerp(Color.white, Color.clear, percentage);
|
|
yield return null;
|
|
}
|
|
while (!this.listenerCloseIn.finished)
|
|
{
|
|
yield return null;
|
|
}
|
|
}
|
|
this.closeInScaler.SetActive(false);
|
|
this.closeInHit.SetActive(false);
|
|
this.closeInMiss.SetActive(false);
|
|
this.closeInOutside.SetActive(false);
|
|
this.closeInInside.SetActive(false);
|
|
this.resurrecting = false;
|
|
this.listen = null;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x06001329 RID: 4905 RVA: 0x001728F8 File Offset: 0x00170AF8
|
|
private void SetAnimatorSpeedMoonPunch(float customTimeScale)
|
|
{
|
|
if (customTimeScale != 1f)
|
|
{
|
|
float timeScale = Time.timeScale;
|
|
float num = 1f / Time.timeScale;
|
|
this.moonPunchAnimator.speed = num;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600132A RID: 4906 RVA: 0x0017292B File Offset: 0x00170B2B
|
|
private IEnumerator ListenForClickMoonPunch(float customTimeScale)
|
|
{
|
|
this.listenerMoonPunch.canClick = false;
|
|
this.listenerMoonPunch.finished = false;
|
|
this.raycastBlocker.enabled = true;
|
|
this.clicked = false;
|
|
bool failed = false;
|
|
this.bonus = 1.5f;
|
|
if (this.bonusType == "Evasion")
|
|
{
|
|
this.bonus = 1f;
|
|
}
|
|
float baseBonus = this.bonus;
|
|
if (!this.show)
|
|
{
|
|
this.moonPunchGroup.enabled = true;
|
|
}
|
|
else
|
|
{
|
|
this.moonPunchGroup.enabled = false;
|
|
}
|
|
while (this.Holding2())
|
|
{
|
|
yield return null;
|
|
}
|
|
this.moonPunch.SetActive(true);
|
|
this.moonPunchSuccess.SetActive(false);
|
|
this.moonPunchFail.SetActive(false);
|
|
this.clickTime = 0f;
|
|
this.moonPunchAnimator.speed = 1f;
|
|
this.SetAnimatorSpeedMoonPunch(customTimeScale);
|
|
while (!this.listenerMoonPunch.canClick && !failed)
|
|
{
|
|
this.SetAnimatorSpeedMoonPunch(customTimeScale);
|
|
if (this.Clicked() && this.show)
|
|
{
|
|
failed = true;
|
|
this.moonPunch.SetActive(false);
|
|
this.moonPunchFail.SetActive(true);
|
|
}
|
|
yield return null;
|
|
}
|
|
if (this.debug)
|
|
{
|
|
Debug.Log("Before range - failed? " + failed.ToString() + " " + Time.timeSinceLevelLoad.ToString());
|
|
}
|
|
this.SetAnimatorSpeedMoonPunch(customTimeScale);
|
|
float startClickTime = this.moonPunchAnimator.GetCurrentAnimatorStateInfo(0).normalizedTime;
|
|
if (this.Clicked() && this.show)
|
|
{
|
|
this.clicked = true;
|
|
this.clickTime = this.moonPunchAnimator.GetCurrentAnimatorStateInfo(0).normalizedTime + 0.1f;
|
|
this.moonPunchSuccess.SetActive(true);
|
|
if (this.debug)
|
|
{
|
|
Debug.Log(string.Concat(new string[]
|
|
{
|
|
"In range - clicked? ",
|
|
this.clicked.ToString(),
|
|
" ",
|
|
this.clickTime.ToString(),
|
|
" ",
|
|
Time.timeSinceLevelLoad.ToString()
|
|
}));
|
|
}
|
|
}
|
|
while (this.listenerMoonPunch.canClick && !failed && !this.clicked)
|
|
{
|
|
this.SetAnimatorSpeedMoonPunch(customTimeScale);
|
|
if (this.Clicked() && this.show)
|
|
{
|
|
this.clickTime = this.moonPunchAnimator.GetCurrentAnimatorStateInfo(0).normalizedTime + 0.1f;
|
|
this.clicked = true;
|
|
this.moonPunchSuccess.SetActive(true);
|
|
}
|
|
if (this.debug)
|
|
{
|
|
Debug.Log(string.Concat(new string[]
|
|
{
|
|
"In range - clicked? ",
|
|
this.clicked.ToString(),
|
|
" ",
|
|
this.clickTime.ToString(),
|
|
" ",
|
|
Time.timeSinceLevelLoad.ToString()
|
|
}));
|
|
}
|
|
yield return null;
|
|
}
|
|
if (!this.clicked)
|
|
{
|
|
failed = true;
|
|
}
|
|
if (!failed)
|
|
{
|
|
this.moonPunch.SetActive(false);
|
|
float num = 10f;
|
|
if (this.bonusType == "Evasion")
|
|
{
|
|
num = 40f;
|
|
}
|
|
this.bonus = baseBonus + (this.clickTime - startClickTime) * num;
|
|
this.bonus = Mathf.Round(this.bonus * 10f) / 10f;
|
|
this.moonPunchText.text = this.bonus.ToString() + "x";
|
|
if (this.bonusType == "Evasion")
|
|
{
|
|
TextMeshProUGUI textMeshProUGUI = this.moonPunchText;
|
|
textMeshProUGUI.text += " block";
|
|
}
|
|
else if (this.bonusType == "Effects")
|
|
{
|
|
TextMeshProUGUI textMeshProUGUI2 = this.moonPunchText;
|
|
textMeshProUGUI2.text += " effects";
|
|
}
|
|
else
|
|
{
|
|
TextMeshProUGUI textMeshProUGUI3 = this.moonPunchText;
|
|
textMeshProUGUI3.text += " damage";
|
|
}
|
|
if (this.debug)
|
|
{
|
|
Debug.Log(string.Concat(new string[]
|
|
{
|
|
"Bonus: ",
|
|
this.bonus.ToString(),
|
|
" ",
|
|
this.clickTime.ToString(),
|
|
" ",
|
|
startClickTime.ToString()
|
|
}));
|
|
}
|
|
}
|
|
if (this.debug)
|
|
{
|
|
Debug.Log(string.Concat(new string[]
|
|
{
|
|
"Range over - clicked? ",
|
|
this.clicked.ToString(),
|
|
" ",
|
|
this.clickTime.ToString(),
|
|
" ",
|
|
Time.timeSinceLevelLoad.ToString()
|
|
}));
|
|
}
|
|
this.raycastBlocker.enabled = false;
|
|
this.playing = false;
|
|
float startTime = Time.timeSinceLevelLoad;
|
|
while (!this.listenerMoonPunch.finished && Time.timeSinceLevelLoad < startTime + 2f)
|
|
{
|
|
if (this.moonPunch.activeSelf)
|
|
{
|
|
this.SetAnimatorSpeedMoonPunch(customTimeScale);
|
|
}
|
|
yield return null;
|
|
}
|
|
this.moonPunch.SetActive(false);
|
|
this.moonPunchSuccess.SetActive(false);
|
|
this.moonPunchFail.SetActive(false);
|
|
this.listen = null;
|
|
this.bonusType = "";
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x0600132B RID: 4907 RVA: 0x00172941 File Offset: 0x00170B41
|
|
private IEnumerator ListenForClickLine()
|
|
{
|
|
this.listenerLine.canClick = false;
|
|
this.listenerLine.finished = false;
|
|
this.raycastBlocker.enabled = true;
|
|
this.clicked = false;
|
|
bool failed = false;
|
|
while (this.Holding())
|
|
{
|
|
yield return null;
|
|
}
|
|
this.line.SetActive(true);
|
|
this.lineSuccess.SetActive(false);
|
|
this.lineFail.SetActive(false);
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
this.bonus = 1.5f;
|
|
while (!this.listenerLine.canClick && !failed)
|
|
{
|
|
if (this.Clicked())
|
|
{
|
|
failed = true;
|
|
Debug.Log("Clicked early " + Time.timeSinceLevelLoad.ToString());
|
|
}
|
|
yield return null;
|
|
}
|
|
Debug.Log("In range - failed? " + failed.ToString() + " " + Time.timeSinceLevelLoad.ToString());
|
|
float startClickTime = Time.timeSinceLevelLoad;
|
|
if (this.Clicked())
|
|
{
|
|
this.clicked = true;
|
|
this.bonus += 0.19999999f;
|
|
}
|
|
while (this.listenerLine.canClick && !failed && !this.clicked)
|
|
{
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
if (this.Clicked())
|
|
{
|
|
this.clicked = true;
|
|
this.bonus += (this.clickTime - startClickTime) * 20f;
|
|
}
|
|
yield return null;
|
|
}
|
|
Debug.Log("Range over - clicked? " + this.clicked.ToString() + " " + Time.timeSinceLevelLoad.ToString());
|
|
if (!this.clicked)
|
|
{
|
|
failed = true;
|
|
}
|
|
if (failed)
|
|
{
|
|
this.lineFail.SetActive(true);
|
|
}
|
|
else
|
|
{
|
|
this.lineSuccess.SetActive(true);
|
|
}
|
|
this.raycastBlocker.enabled = false;
|
|
this.playing = false;
|
|
while (!this.listenerLine.finished)
|
|
{
|
|
yield return null;
|
|
}
|
|
this.line.SetActive(false);
|
|
this.lineSuccess.SetActive(false);
|
|
this.lineFail.SetActive(false);
|
|
this.listen = null;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x0600132C RID: 4908 RVA: 0x00172950 File Offset: 0x00170B50
|
|
private IEnumerator ListenForClick1()
|
|
{
|
|
while (!this.canClick)
|
|
{
|
|
yield return null;
|
|
}
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
while (!this.Clicked())
|
|
{
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
yield return null;
|
|
}
|
|
this.clicked = true;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x0600132D RID: 4909 RVA: 0x0017295F File Offset: 0x00170B5F
|
|
private IEnumerator ListenForClickRevive()
|
|
{
|
|
this.resurrecting = true;
|
|
float startTime = Time.timeSinceLevelLoad;
|
|
bool failed = false;
|
|
if (!this.quickStart)
|
|
{
|
|
while (this.Holding())
|
|
{
|
|
if (failed)
|
|
{
|
|
break;
|
|
}
|
|
if (Time.timeSinceLevelLoad > startTime + 5f)
|
|
{
|
|
failed = true;
|
|
this.animator.Play("QTE_ReviveStartFail", -1, 0f);
|
|
}
|
|
yield return null;
|
|
}
|
|
while (!this.Holding() && !failed)
|
|
{
|
|
if (Time.timeSinceLevelLoad > startTime + 5f)
|
|
{
|
|
failed = true;
|
|
this.animator.Play("QTE_ReviveStartFail", -1, 0f);
|
|
}
|
|
yield return null;
|
|
}
|
|
}
|
|
this.quickStart = false;
|
|
if (!failed)
|
|
{
|
|
int count = 0;
|
|
while (this.Holding() && this.CanRevive())
|
|
{
|
|
if (count == 0)
|
|
{
|
|
this.animator.Play("QTE_ReviveHold", -1, 0f);
|
|
}
|
|
int num = count;
|
|
count = num + 1;
|
|
if (this.canComplete)
|
|
{
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
}
|
|
yield return null;
|
|
}
|
|
}
|
|
if (this.playing || failed)
|
|
{
|
|
if (failed)
|
|
{
|
|
this.completed = false;
|
|
this.playing = false;
|
|
}
|
|
else if (!this.canComplete)
|
|
{
|
|
this.completed = false;
|
|
this.AnimationDone();
|
|
this.listen = null;
|
|
}
|
|
else
|
|
{
|
|
this.completed = true;
|
|
this.AnimationDone();
|
|
this.listen = null;
|
|
}
|
|
}
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x0600132E RID: 4910 RVA: 0x0017296E File Offset: 0x00170B6E
|
|
private IEnumerator ListenForRevive2()
|
|
{
|
|
this.listenerCloseIn.canClick = false;
|
|
this.listenerCloseIn.finished = false;
|
|
this.raycastBlocker.enabled = true;
|
|
this.closeOutsideSprite.color = Color.white;
|
|
this.clicked = false;
|
|
bool failed = false;
|
|
while (!this.Holding())
|
|
{
|
|
yield return null;
|
|
}
|
|
this.closeInOutside.SetActive(true);
|
|
this.closeInInside.SetActive(true);
|
|
this.closeInScaler.SetActive(true);
|
|
this.closeInAnimEarlyOut.enabled = false;
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
while (!this.listenerCloseIn.canClick && !failed)
|
|
{
|
|
if (!this.CanRevive())
|
|
{
|
|
failed = true;
|
|
}
|
|
if (!this.Holding())
|
|
{
|
|
failed = true;
|
|
}
|
|
yield return null;
|
|
}
|
|
if (failed)
|
|
{
|
|
this.closeInAnimEarlyOut.enabled = true;
|
|
}
|
|
while (this.listenerCloseIn.canClick && !failed && !this.clicked)
|
|
{
|
|
if (!this.Holding())
|
|
{
|
|
this.clicked = true;
|
|
}
|
|
if (!this.CanRevive())
|
|
{
|
|
failed = true;
|
|
}
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
yield return null;
|
|
}
|
|
if (!failed)
|
|
{
|
|
this.clicked = true;
|
|
}
|
|
if (failed)
|
|
{
|
|
this.closeInInside.SetActive(false);
|
|
this.closeInMiss.SetActive(true);
|
|
}
|
|
if (this.clicked)
|
|
{
|
|
this.closeInHit.SetActive(true);
|
|
}
|
|
this.raycastBlocker.enabled = false;
|
|
if (!failed)
|
|
{
|
|
this.completed = true;
|
|
}
|
|
this.endTime = Time.timeSinceLevelLoad;
|
|
this.bonus = this.endTime - this.clickTime;
|
|
if (this.bonus < 0f)
|
|
{
|
|
this.bonus = 0f;
|
|
}
|
|
this.bonus *= 10f;
|
|
this.bonus += 1f;
|
|
this.bonus *= 25f;
|
|
this.bonus = Mathf.Ceil(this.bonus);
|
|
this.playing = false;
|
|
this.resurrectText.text = "+" + this.bonus.ToString() + " health";
|
|
if (!failed)
|
|
{
|
|
MasterAudio.PlaySoundAndForget("Feedback", 0.6f, new float?(1f), 0f, "Song Learned", null);
|
|
}
|
|
else
|
|
{
|
|
MasterAudio.PlaySoundAndForget("Feedback", 0.6f, new float?(1f), 0f, "Stat Fail", null);
|
|
}
|
|
if (failed)
|
|
{
|
|
float timeToLerp = 0.5f;
|
|
float percentage = 0f;
|
|
float startTime = Time.time;
|
|
while (percentage < 1f)
|
|
{
|
|
percentage = (Time.time - startTime) / timeToLerp;
|
|
this.closeOutsideSprite.color = Color.Lerp(Color.white, Color.clear, percentage);
|
|
yield return null;
|
|
}
|
|
timeToLerp = 0.5f;
|
|
percentage = 0f;
|
|
startTime = Time.time;
|
|
while (percentage < 1f)
|
|
{
|
|
percentage = (Time.time - startTime) / timeToLerp;
|
|
yield return null;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
float startTime = 0.5f;
|
|
float percentage = 0f;
|
|
float timeToLerp = Time.time;
|
|
while (percentage < 1f)
|
|
{
|
|
percentage = (Time.time - timeToLerp) / startTime;
|
|
this.closeOutsideSprite.color = Color.Lerp(Color.white, Color.clear, percentage);
|
|
yield return null;
|
|
}
|
|
while (!this.listenerCloseIn.finished)
|
|
{
|
|
yield return null;
|
|
}
|
|
}
|
|
this.closeInScaler.SetActive(false);
|
|
this.closeInHit.SetActive(false);
|
|
this.closeInMiss.SetActive(false);
|
|
this.closeInOutside.SetActive(false);
|
|
this.closeInInside.SetActive(false);
|
|
this.resurrecting = false;
|
|
this.listen = null;
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x0600132F RID: 4911 RVA: 0x00172980 File Offset: 0x00170B80
|
|
private bool CanRevive()
|
|
{
|
|
return !(Links.x.main != this.main) && this.main && this.main.IsSentient() && this.main.stats.hitCount <= this.startHitCount + 2 && !this.main.stats.pinned && !this.main.dodging && !this.main.evading && !this.main.body.IsHit() && (this.main.currentPosition - this.startPosition).sqrMagnitude <= 16f;
|
|
}
|
|
|
|
// Token: 0x06001330 RID: 4912 RVA: 0x00172A4E File Offset: 0x00170C4E
|
|
public void MadeIt()
|
|
{
|
|
this.clickTime = Time.timeSinceLevelLoad;
|
|
this.canComplete = true;
|
|
}
|
|
|
|
// Token: 0x06001331 RID: 4913 RVA: 0x00172A64 File Offset: 0x00170C64
|
|
public void AnimationDone()
|
|
{
|
|
if (this.listen != null)
|
|
{
|
|
base.StopCoroutine(this.listen);
|
|
this.listen = null;
|
|
}
|
|
if (this.eventType == "ATB")
|
|
{
|
|
this.endTime = Time.timeSinceLevelLoad;
|
|
this.bonus = 1f - (this.endTime - this.clickTime);
|
|
if (this.bonus < 0f)
|
|
{
|
|
this.bonus = 0f;
|
|
}
|
|
this.bonus += 1f;
|
|
this.bonus = this.R1(this.bonus);
|
|
this.actionText.text = this.bonus.ToString() + " x";
|
|
}
|
|
else if (!(this.eventType == "Spirit1") && this.eventType == "Revive")
|
|
{
|
|
this.endTime = Time.timeSinceLevelLoad;
|
|
this.bonus = this.endTime - this.clickTime;
|
|
if (this.bonus < 0f)
|
|
{
|
|
this.bonus = 0f;
|
|
}
|
|
this.bonus *= 10f;
|
|
this.bonus += 1f;
|
|
this.bonus *= 25f;
|
|
this.bonus = Mathf.Ceil(this.bonus);
|
|
this.reviveText.text = "+" + this.bonus.ToString() + " health";
|
|
if (this.canComplete)
|
|
{
|
|
this.completed = true;
|
|
MasterAudio.PlaySoundAndForget("Feedback", 0.6f, new float?(1f), 0f, "Song Learned", null);
|
|
this.animator.Play("QTE_ReviveSuccess", -1, 0f);
|
|
}
|
|
else
|
|
{
|
|
MasterAudio.PlaySoundAndForget("Feedback", 0.6f, new float?(1f), 0f, "Stat Fail", null);
|
|
this.animator.Play("QTE_ReviveFail", -1, 0f);
|
|
}
|
|
}
|
|
this.playing = false;
|
|
this.resurrecting = false;
|
|
}
|
|
|
|
// Token: 0x06001332 RID: 4914 RVA: 0x00172C97 File Offset: 0x00170E97
|
|
public float R1(float x)
|
|
{
|
|
return Mathf.Round(x * 10f) / 10f;
|
|
}
|
|
|
|
// Token: 0x0400203A RID: 8250
|
|
public Animator animator;
|
|
|
|
// Token: 0x0400203B RID: 8251
|
|
public Animator closeInAnimEarlyOut;
|
|
|
|
// Token: 0x0400203C RID: 8252
|
|
public Animator closeInScalar;
|
|
|
|
// Token: 0x0400203D RID: 8253
|
|
public Animator moonPunchAnimator;
|
|
|
|
// Token: 0x0400203E RID: 8254
|
|
public GameObject closeInOutside;
|
|
|
|
// Token: 0x0400203F RID: 8255
|
|
public GameObject closeInInside;
|
|
|
|
// Token: 0x04002040 RID: 8256
|
|
public GameObject closeInScaler;
|
|
|
|
// Token: 0x04002041 RID: 8257
|
|
public GameObject closeInHit;
|
|
|
|
// Token: 0x04002042 RID: 8258
|
|
public GameObject closeInMiss;
|
|
|
|
// Token: 0x04002043 RID: 8259
|
|
public GameObject moonPunch;
|
|
|
|
// Token: 0x04002044 RID: 8260
|
|
public GameObject moonPunchSuccess;
|
|
|
|
// Token: 0x04002045 RID: 8261
|
|
public GameObject moonPunchFail;
|
|
|
|
// Token: 0x04002046 RID: 8262
|
|
public GameObject line;
|
|
|
|
// Token: 0x04002047 RID: 8263
|
|
public GameObject lineSuccess;
|
|
|
|
// Token: 0x04002048 RID: 8264
|
|
public GameObject lineFail;
|
|
|
|
// Token: 0x04002049 RID: 8265
|
|
public bool clicked;
|
|
|
|
// Token: 0x0400204A RID: 8266
|
|
public bool canClick;
|
|
|
|
// Token: 0x0400204B RID: 8267
|
|
public bool playing;
|
|
|
|
// Token: 0x0400204C RID: 8268
|
|
private IEnumerator listen;
|
|
|
|
// Token: 0x0400204D RID: 8269
|
|
public float clickTime;
|
|
|
|
// Token: 0x0400204E RID: 8270
|
|
public float endTime;
|
|
|
|
// Token: 0x0400204F RID: 8271
|
|
public float bonus;
|
|
|
|
// Token: 0x04002050 RID: 8272
|
|
public TextMeshProUGUI actionText;
|
|
|
|
// Token: 0x04002051 RID: 8273
|
|
public TextMeshProUGUI reviveText;
|
|
|
|
// Token: 0x04002052 RID: 8274
|
|
public TextMeshProUGUI moonPunchText;
|
|
|
|
// Token: 0x04002053 RID: 8275
|
|
public TextMeshProUGUI resurrectText;
|
|
|
|
// Token: 0x04002054 RID: 8276
|
|
public string eventType;
|
|
|
|
// Token: 0x04002055 RID: 8277
|
|
public bool completed;
|
|
|
|
// Token: 0x04002056 RID: 8278
|
|
public bool canComplete;
|
|
|
|
// Token: 0x04002057 RID: 8279
|
|
public bool quickStart;
|
|
|
|
// Token: 0x04002058 RID: 8280
|
|
public bool resurrecting;
|
|
|
|
// Token: 0x04002059 RID: 8281
|
|
private Character main;
|
|
|
|
// Token: 0x0400205A RID: 8282
|
|
private int startHitCount;
|
|
|
|
// Token: 0x0400205B RID: 8283
|
|
private Vector3 startPosition;
|
|
|
|
// Token: 0x0400205C RID: 8284
|
|
public ListenerQTE listenerCloseIn;
|
|
|
|
// Token: 0x0400205D RID: 8285
|
|
public ListenerQTE listenerMoonPunch;
|
|
|
|
// Token: 0x0400205E RID: 8286
|
|
public ListenerQTE listenerLine;
|
|
|
|
// Token: 0x0400205F RID: 8287
|
|
public Image raycastBlocker;
|
|
|
|
// Token: 0x04002060 RID: 8288
|
|
public Image closeOutsideSprite;
|
|
|
|
// Token: 0x04002061 RID: 8289
|
|
private bool debug;
|
|
|
|
// Token: 0x04002062 RID: 8290
|
|
public bool show;
|
|
|
|
// Token: 0x04002063 RID: 8291
|
|
public CanvasGroup moonPunchGroup;
|
|
|
|
// Token: 0x04002064 RID: 8292
|
|
public string bonusType;
|
|
}
|