847 lines
22 KiB
C#
847 lines
22 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
// Token: 0x020000A9 RID: 169
|
|
public class GameCard : MonoBehaviour
|
|
{
|
|
// Token: 0x06000F8E RID: 3982 RVA: 0x0012CFA2 File Offset: 0x0012B1A2
|
|
private void Awake()
|
|
{
|
|
}
|
|
|
|
// Token: 0x06000F8F RID: 3983 RVA: 0x0012CFA4 File Offset: 0x0012B1A4
|
|
private void Start()
|
|
{
|
|
this.ToggleState(false);
|
|
}
|
|
|
|
// Token: 0x06000F90 RID: 3984 RVA: 0x0012CFB0 File Offset: 0x0012B1B0
|
|
public int GetDiceCountModifier(int type)
|
|
{
|
|
int num = 0;
|
|
this.diceCountMods = this.hoverCharacter.stats.diceCountMods;
|
|
this.diceSideMods = this.hoverCharacter.stats.diceSideMods;
|
|
this.diceTypeMods = this.hoverCharacter.stats.diceTypeMods;
|
|
for (int i = 0; i < this.diceTypeMods.Count; i++)
|
|
{
|
|
if (this.diceTypeMods[i] == type)
|
|
{
|
|
int num2 = this.diceCountMods[i];
|
|
if (num2 < 0)
|
|
{
|
|
num2 *= -1;
|
|
}
|
|
int num3 = this.diceSideMods[i];
|
|
int num4 = 0;
|
|
for (int j = 0; j < num2; j++)
|
|
{
|
|
num4 += Random.Range(1, num3 + 1);
|
|
}
|
|
if (this.diceCountMods[i] < 0)
|
|
{
|
|
num4 *= -1;
|
|
}
|
|
num += num4;
|
|
}
|
|
}
|
|
return num;
|
|
}
|
|
|
|
// Token: 0x06000F91 RID: 3985 RVA: 0x0012D084 File Offset: 0x0012B284
|
|
private void FixedUpdate()
|
|
{
|
|
if (Records.x.partySailing)
|
|
{
|
|
this.Positions();
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000F92 RID: 3986 RVA: 0x0012D098 File Offset: 0x0012B298
|
|
private void LateUpdate()
|
|
{
|
|
if (!Records.x.partySailing)
|
|
{
|
|
this.Positions();
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000F93 RID: 3987 RVA: 0x0012D0AC File Offset: 0x0012B2AC
|
|
private void Positions()
|
|
{
|
|
if (this.hoverCharacter)
|
|
{
|
|
if (this.stopPlaying)
|
|
{
|
|
this.currIndex = -1;
|
|
}
|
|
if (!this.animator.enabled || !this.animator.GetBool("On"))
|
|
{
|
|
this.animator.enabled = true;
|
|
this.animator.SetBool("On", true);
|
|
}
|
|
if (this.fullCard && Records.x.InCombat(false))
|
|
{
|
|
this.SetHealth();
|
|
}
|
|
Vector3 anchoredPosition3D = this.statusRT.anchoredPosition3D;
|
|
if ((this.t >= 1.3f || anchoredPosition3D.y >= this.target - 0.2f) && this.target != 0f && this.t > 0f)
|
|
{
|
|
this.t = 0f;
|
|
this.start = anchoredPosition3D.y;
|
|
this.target = 0f;
|
|
}
|
|
else if (anchoredPosition3D.y <= 0f && this.t > 0f)
|
|
{
|
|
this.t = 0f;
|
|
this.start = anchoredPosition3D.y;
|
|
this.target = this.statusRT.sizeDelta.y - 20.15f;
|
|
}
|
|
else
|
|
{
|
|
this.t += Time.deltaTime / 3f;
|
|
anchoredPosition3D.y = Mathf.Lerp(this.start, this.target, this.t);
|
|
this.statusRT.anchoredPosition3D = anchoredPosition3D;
|
|
}
|
|
if (this.hoverCharacter.dead || this.hoverCharacter != Links.x.gameplay.gameCardCharacter)
|
|
{
|
|
this.EndHover(this.hoverCharacter, false);
|
|
}
|
|
}
|
|
if (this.characterName.color.a > 0f && this.body)
|
|
{
|
|
float num = 0f;
|
|
if (!Links.x.worldCamera.orthographic)
|
|
{
|
|
num = -0.1f;
|
|
}
|
|
if (this.controlsText.text == "" && this.status.text == "")
|
|
{
|
|
num += 0.15f;
|
|
}
|
|
if (this.controlsText.text == "" || this.status.text == "")
|
|
{
|
|
num += 0.15f;
|
|
}
|
|
if (this.body.character)
|
|
{
|
|
if (this.body.character.statusRing)
|
|
{
|
|
num -= 0.5f;
|
|
}
|
|
if (this.body.character.isBoro)
|
|
{
|
|
num += 0.01f;
|
|
}
|
|
}
|
|
if (Links.x.joy && Records.x.pocketPause)
|
|
{
|
|
num -= 1f;
|
|
}
|
|
Vector3 vector = Vector3.zero;
|
|
this.body.GetBounds();
|
|
vector = this.body.bounds.center + new Vector3(0f, this.body.bounds.extents.y / 2f, 0f);
|
|
Vector3 vector2 = Links.x.worldCamera.WorldToScreenPoint(vector + new Vector3(0f, 1f - num, 0f));
|
|
vector2.z = 0f;
|
|
vector2.x = vector2.x * (1920f / (float)Screen.width) - 960f;
|
|
vector2.y = vector2.y * (Links.x.canvasRT.sizeDelta.y / (float)Screen.height) - Links.x.canvasRT.sizeDelta.y / 2f;
|
|
this.rt.localPosition = vector2;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000F94 RID: 3988 RVA: 0x0012D47B File Offset: 0x0012B67B
|
|
public void SetPortrait(RenderTexture t)
|
|
{
|
|
if (t != null)
|
|
{
|
|
this.portrait.texture = t;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000F95 RID: 3989 RVA: 0x0012D494 File Offset: 0x0012B694
|
|
public void StartHover(Character character, string health)
|
|
{
|
|
this.currIndex = -1;
|
|
this.updateTime = Time.realtimeSinceStartup + 0.14f;
|
|
this.str.Clear();
|
|
if (this.portraitCharacterToRemove && this.portraitCharacterToRemove.npc)
|
|
{
|
|
if (this.fullCard)
|
|
{
|
|
Links.x.renderPortraits.RemoveCharacter(this.portraitCharacterToRemove, "", null);
|
|
}
|
|
this.portraitCharacterToRemove = null;
|
|
}
|
|
if (character)
|
|
{
|
|
if (character.stats.xmlName.Contains("Boro") && !character.isBoro && !character.hasActions && !character.stunned && Records.x.BoroInParty())
|
|
{
|
|
Records.x.ShowBoroStats(character);
|
|
return;
|
|
}
|
|
this.body = character.body;
|
|
if (character.party && this.fullCard)
|
|
{
|
|
Links.x.renderPortraits.RemoveCharacter(character, character.stats.xmlName, null);
|
|
}
|
|
}
|
|
bool flag = false;
|
|
if (Records.x.pocketPause && Links.x.pocketWheel.Charming())
|
|
{
|
|
flag = true;
|
|
}
|
|
if (this.coroutine != null)
|
|
{
|
|
base.StopCoroutine(this.coroutine);
|
|
this.coroutine = null;
|
|
}
|
|
if (Records.x.mainCharacterDead || !character)
|
|
{
|
|
return;
|
|
}
|
|
this.hoverCharacter = character;
|
|
if (this.hoverCharacter.isBoro)
|
|
{
|
|
this.str.Append(Records.x.boroName);
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(this.hoverCharacter.stats.GetName());
|
|
}
|
|
if (this.hoverCharacter.stats.initiateDialogue >= 10 && !this.hoverCharacter.isBoro && this.hoverCharacter.stats.characterRow._GenericName != this.hoverCharacter.stats.GetName())
|
|
{
|
|
this.str.Append(", ");
|
|
this.str.Append(this.hoverCharacter.stats.characterRow._GenericName);
|
|
}
|
|
if (this.hoverCharacter.stunned)
|
|
{
|
|
if (this.hoverCharacter.stats.xmlName.Contains("LocalGraveKeeper"))
|
|
{
|
|
this.str.Append(" (Dormant)");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" (Stunned)");
|
|
}
|
|
}
|
|
if (this.hoverCharacter.sleeping && !this.hoverCharacter.stunned)
|
|
{
|
|
this.str.Append(" (Asleep)");
|
|
}
|
|
if (this.hoverCharacter.dayNightVanishing && !this.hoverCharacter.stunned && !this.hoverCharacter.sleeping && !Records.x.pocketPause && !this.hoverCharacter.hasActions)
|
|
{
|
|
this.str.Append(" (Busy)");
|
|
}
|
|
this.status.text = "";
|
|
this.characterName.text = this.str.ToString();
|
|
this.savedHealth = character.stats.HealthCurrent();
|
|
this.str.Clear();
|
|
this.controlsText.spriteAsset = Links.x.GetSpriteSheetAsset(Links.x.gameplay.currentSpriteSheetAsset);
|
|
bool flag2 = false;
|
|
if (Links.x.joy)
|
|
{
|
|
flag2 = true;
|
|
}
|
|
if (!character.stunned || (character.stunned && Records.x.kill))
|
|
{
|
|
if (flag)
|
|
{
|
|
if ((this.hoverCharacter.stats.characterRow._Race == "Forest" || this.hoverCharacter.stats.characterRow._Race == "Fish" || this.hoverCharacter.stats.characterRow._Race == "Shroom") && !this.hoverCharacter.stats.xmlName.Contains("Cat"))
|
|
{
|
|
string text = "CharmShroom";
|
|
if (character.stats.race == "Forest")
|
|
{
|
|
text = "CharmForest";
|
|
}
|
|
if (character.stats.race == "Fish")
|
|
{
|
|
text = "CharmFish";
|
|
}
|
|
float num = Links.x.main.stats.Charming(text, true);
|
|
float num2 = this.hoverCharacter.stats.CharmResistance(false, (float)this.hoverCharacter.stats.HealthCurrent());
|
|
num2 += Links.x.main.stats.SummonModCharm();
|
|
float num3 = num - num2;
|
|
if (Links.x.combat.CanAttackTarget(this.hoverCharacter))
|
|
{
|
|
string text2 = "Bind";
|
|
if (num3 <= 2f)
|
|
{
|
|
text2 = "Roll to bind";
|
|
}
|
|
if (this.hoverCharacter.stats.characterRow._Race == "Forest")
|
|
{
|
|
text2 += " (Forest)";
|
|
}
|
|
if (this.hoverCharacter.stats.characterRow._Race == "Fish")
|
|
{
|
|
text2 += " (Fish)";
|
|
}
|
|
if (this.hoverCharacter.stats.characterRow._Race == "Shroom")
|
|
{
|
|
text2 += " (Shroom)";
|
|
}
|
|
if (Links.x.mk || Links.x.pocketWheel.targetSelection)
|
|
{
|
|
this.str.Append(text2);
|
|
this.str.Append(" ");
|
|
if (Links.x.mk)
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int keyIconIndex = Links.x.keyControl.GetKeyIconIndex("LMB");
|
|
this.str.Append(keyIconIndex);
|
|
this.str.Append("></size></voffset>");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int controllerSprite = Links.x.gameplay.GetControllerSprite("Action", Links.x.gameplay.controllerName);
|
|
this.str.Append(controllerSprite);
|
|
this.str.Append("></size></voffset>");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" ");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string text3 = "Will resist";
|
|
if (num3 < 2f)
|
|
{
|
|
text3 = "Barely resist";
|
|
}
|
|
if (Records.x.partySailing)
|
|
{
|
|
text3 = "Cannot bind at sea";
|
|
}
|
|
if (this.hoverCharacter.stats.characterRow._Race == "Forest")
|
|
{
|
|
text3 += " (Forest)";
|
|
}
|
|
if (this.hoverCharacter.stats.characterRow._Race == "Fish")
|
|
{
|
|
text3 += " (Fish)";
|
|
}
|
|
if (this.hoverCharacter.stats.characterRow._Race == "Shroom")
|
|
{
|
|
text3 += " (Shroom)";
|
|
}
|
|
if (Links.x.main.HasRosary() < 0)
|
|
{
|
|
text3 = "No charm bells";
|
|
}
|
|
this.str.Append("<line-height=15>\n");
|
|
this.str.Append(text3);
|
|
this.str.Append("<cspace=.7em> </cspace=></line-height>");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("<line-height=15>\nCannot bind<cspace=.7em> </cspace=></line-height>");
|
|
}
|
|
flag2 = true;
|
|
}
|
|
else if (character.hostility < 2 && !character.attackingUntilBribe && character.npc && !Records.x.pocketPause)
|
|
{
|
|
if (Links.x.hudControl.CharacterIsNear(character))
|
|
{
|
|
if (!character.stats.animal && !character.sleeping && !character.dayNightVanishing && character.stats.dialogueFile != "" && character.IsSentient())
|
|
{
|
|
this.str.Append("Talk ");
|
|
if (Links.x.mk)
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int keyIconIndex2 = Links.x.keyControl.GetKeyIconIndex("LMB");
|
|
this.str.Append(keyIconIndex2);
|
|
this.str.Append("></size></voffset>");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int controllerSprite2 = Links.x.gameplay.GetControllerSprite("Interact", Links.x.gameplay.controllerName);
|
|
this.str.Append(controllerSprite2);
|
|
this.str.Append("></size></voffset>");
|
|
}
|
|
flag2 = false;
|
|
}
|
|
else
|
|
{
|
|
if (!character.sleeping && !character.stunned)
|
|
{
|
|
this.str.Append("<line-height=15>\n(Cannot talk)<cspace=.7em> </cspace=></line-height>");
|
|
}
|
|
flag2 = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (character.stats.animal)
|
|
{
|
|
if (!character.dayNightVanishing)
|
|
{
|
|
this.str.Append("<line-height=15>\n(Cannot talk)<cspace=.7em> </cspace=></line-height>");
|
|
}
|
|
}
|
|
else if (character.IsSentient())
|
|
{
|
|
this.str.Append("<line-height=15>\n(Too far away to talk)<cspace=.7em> </cspace=></line-height>");
|
|
}
|
|
flag2 = true;
|
|
}
|
|
}
|
|
else if ((character.hostility < 2 && !character.attackingUntilBribe) || Records.x.pocketPause)
|
|
{
|
|
if (Links.x.gameplay.spellTargetingParty && !character.npc)
|
|
{
|
|
if (!character.stats.animal && !character.sleeping && !character.dayNightVanishing && (Links.x.mk || Links.x.pocketWheel.targetSelection))
|
|
{
|
|
this.str.Append("Cast Spell ");
|
|
if (Links.x.mk)
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int keyIconIndex3 = Links.x.keyControl.GetKeyIconIndex("LMB");
|
|
this.str.Append(keyIconIndex3);
|
|
this.str.Append("></size></voffset>");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int controllerSprite3 = Links.x.gameplay.GetControllerSprite("Action", Links.x.gameplay.controllerName);
|
|
this.str.Append(controllerSprite3);
|
|
this.str.Append("></size></voffset>");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" ");
|
|
}
|
|
flag2 = false;
|
|
}
|
|
else if (Links.x.gameplay.spellTargetingEnemy && character.npc)
|
|
{
|
|
if (!character.stats.animal && !character.sleeping && !character.dayNightVanishing && (Links.x.mk || Links.x.pocketWheel.targetSelection))
|
|
{
|
|
this.str.Append("Cast Spell ");
|
|
if (Links.x.mk)
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int keyIconIndex4 = Links.x.keyControl.GetKeyIconIndex("LMB");
|
|
this.str.Append(keyIconIndex4);
|
|
this.str.Append("></size></voffset>");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int controllerSprite4 = Links.x.gameplay.GetControllerSprite("Action", Links.x.gameplay.controllerName);
|
|
this.str.Append(controllerSprite4);
|
|
this.str.Append("></size></voffset>");
|
|
flag2 = false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" ");
|
|
}
|
|
}
|
|
else if (Links.x.combat.CanAttackTarget(character))
|
|
{
|
|
if (Links.x.pocketWheel.targetSelection || Links.x.mk)
|
|
{
|
|
if (Links.x.pocketWheel.selected == "Heavy Attack")
|
|
{
|
|
flag2 = Links.x.mk;
|
|
if ((this.hoverCharacter.currentPosition - Links.x.main.currentPosition).sqrMagnitude < 6.25f)
|
|
{
|
|
this.str.Append("Kick ");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("Charge ");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (Records.x.kill || character.ghost)
|
|
{
|
|
this.str.Append("Attack ");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("Stun ");
|
|
}
|
|
flag2 = false;
|
|
}
|
|
}
|
|
if (Links.x.mk || Links.x.pocketWheel.targetSelection)
|
|
{
|
|
if (Links.x.mk)
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int keyIconIndex5 = Links.x.keyControl.GetKeyIconIndex("LMB");
|
|
this.str.Append(keyIconIndex5);
|
|
this.str.Append("></size></voffset>");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" <voffset=.4em><size=30><sprite=");
|
|
int controllerSprite5 = Links.x.gameplay.GetControllerSprite("Action", Links.x.gameplay.controllerName);
|
|
this.str.Append(controllerSprite5);
|
|
this.str.Append("></size></voffset>");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.str.Append(" ");
|
|
}
|
|
}
|
|
else if (!flag && Links.x.gameplay.attackingCharacter.CanAttack() && !Links.x.combat.inPocketAttack)
|
|
{
|
|
if (!Links.x.gameplay.attackingCharacter.HasAmmoOrMelee(Links.x.gameplay.attackingCharacter.invRow1, false))
|
|
{
|
|
this.str.Append("<line-height=15>\n(No ammo)<cspace=.7em> </cspace=></line-height>");
|
|
}
|
|
flag2 = true;
|
|
}
|
|
}
|
|
}
|
|
if (flag2)
|
|
{
|
|
this.controlsText.text = this.str.ToString();
|
|
}
|
|
else
|
|
{
|
|
this.controlsText.text = "";
|
|
}
|
|
if (this.controlsText.text != "")
|
|
{
|
|
this.scrollViewRT.anchoredPosition3D = new Vector3(2.74f, -8.5f, 0f);
|
|
}
|
|
else
|
|
{
|
|
this.scrollViewRT.anchoredPosition3D = new Vector3(2.74f, 15.7f, 0f);
|
|
}
|
|
this.vignetteRT.sizeDelta = new Vector2(this.characterName.preferredWidth + 20f, this.vignetteRT.sizeDelta.y);
|
|
if (Links.x.main)
|
|
{
|
|
this.ToggleState(true);
|
|
}
|
|
this.hp.text = "";
|
|
if (this.fullCard)
|
|
{
|
|
this.SetHealth();
|
|
}
|
|
if (this.fullCard)
|
|
{
|
|
if (!this.hoverCharacter.ghost)
|
|
{
|
|
Links.x.renderPortraits.AddCharacter(this.hoverCharacter, this.hoverCharacter.stats.xmlName, null, false, null, null, this, null);
|
|
if (this.texturesIdle != null)
|
|
{
|
|
this.portrait.texture = this.texturesIdle;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.portrait.texture = this.ghostTexture;
|
|
}
|
|
}
|
|
if (this.animator.enabled)
|
|
{
|
|
float normalizedTime = this.animator.GetCurrentAnimatorStateInfo(0).normalizedTime;
|
|
if (!this.animator.GetCurrentAnimatorStateInfo(0).IsName("GameCardOff"))
|
|
{
|
|
this.animator.Play("GameCardIdle", -1, 0f);
|
|
}
|
|
else
|
|
{
|
|
this.animator.Play("GameCardOn");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.animator.enabled = true;
|
|
this.animator.Play("GameCardOn");
|
|
}
|
|
this.animator.SetBool("On", true);
|
|
this.targetAlpha = 0f;
|
|
}
|
|
|
|
// Token: 0x06000F96 RID: 3990 RVA: 0x0012E492 File Offset: 0x0012C692
|
|
public RenderTexture GetTexturePortrait()
|
|
{
|
|
if (this.texturesIdle != null)
|
|
{
|
|
return this.texturesIdle;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
// Token: 0x06000F97 RID: 3991 RVA: 0x0012E4AC File Offset: 0x0012C6AC
|
|
private void SetHealth()
|
|
{
|
|
if (Records.x.InCombat(false) && !this.hoverCharacter.stunned && !this.hoverCharacter.dead)
|
|
{
|
|
this.healthBar.gameObject.SetActive(true);
|
|
this.healthBarBack.gameObject.SetActive(true);
|
|
this.healthBar.fillAmount = (float)this.hoverCharacter.stats.HealthCurrent() / (float)this.hoverCharacter.stats.HealthMax();
|
|
this.fatigueBar.gameObject.SetActive(true);
|
|
this.fatigueBarBack.gameObject.SetActive(true);
|
|
}
|
|
else
|
|
{
|
|
this.healthBar.gameObject.SetActive(false);
|
|
this.healthBarBack.gameObject.SetActive(false);
|
|
this.fatigueBar.gameObject.SetActive(false);
|
|
this.fatigueBarBack.gameObject.SetActive(false);
|
|
}
|
|
if (this.hoverCharacter.stats.HealthCurrent() <= 0)
|
|
{
|
|
this.fatigueBar.fillAmount = 0f;
|
|
return;
|
|
}
|
|
this.fatigueBar.fillAmount = this.hoverCharacter.stats.stamina / this.hoverCharacter.stats.maxStamina;
|
|
}
|
|
|
|
// Token: 0x06000F98 RID: 3992 RVA: 0x0012E5F0 File Offset: 0x0012C7F0
|
|
public void EndHover(Character character, bool wait)
|
|
{
|
|
if (character.stats.xmlName.Contains("Boro") && !character.isBoro && Records.x.BoroInParty() && Links.x.hudControl.boroHoverCard.activeSelf)
|
|
{
|
|
this.hoverCharacter = null;
|
|
Links.x.hudControl.CloseBoroHoverCard();
|
|
return;
|
|
}
|
|
if (this.hoverCharacter == character && wait)
|
|
{
|
|
this.coroutine = this.StartEnd();
|
|
base.StartCoroutine(this.coroutine);
|
|
}
|
|
else
|
|
{
|
|
this.EndHoverContinued();
|
|
}
|
|
if (this.hoverCharacter)
|
|
{
|
|
this.portraitCharacterToRemove = this.hoverCharacter;
|
|
}
|
|
this.hoverCharacter = null;
|
|
}
|
|
|
|
// Token: 0x06000F99 RID: 3993 RVA: 0x0012E6A8 File Offset: 0x0012C8A8
|
|
public void EndHoverContinued()
|
|
{
|
|
this.targetAlpha = 1f;
|
|
if (this.hoverCharacter)
|
|
{
|
|
this.portraitCharacterToRemove = this.hoverCharacter;
|
|
}
|
|
float num = this.animator.GetCurrentAnimatorStateInfo(0).normalizedTime;
|
|
if (!this.animator.GetCurrentAnimatorStateInfo(0).IsName("GameCardOn"))
|
|
{
|
|
num = 1f;
|
|
}
|
|
if (this.animator.GetCurrentAnimatorStateInfo(0).IsName("GameCardOn") || this.animator.GetCurrentAnimatorStateInfo(0).IsName("GameCardIdle"))
|
|
{
|
|
this.animator.Play("GameCardOff", 0, 1f - num);
|
|
}
|
|
this.animator.SetBool("On", false);
|
|
this.AnimationDone();
|
|
}
|
|
|
|
// Token: 0x06000F9A RID: 3994 RVA: 0x0012E774 File Offset: 0x0012C974
|
|
public void End()
|
|
{
|
|
this.targetAlpha = 1f;
|
|
this.ToggleState(false);
|
|
if (this.hoverCharacter)
|
|
{
|
|
this.portraitCharacterToRemove = this.hoverCharacter;
|
|
}
|
|
this.hoverCharacter = null;
|
|
float num = this.animator.GetCurrentAnimatorStateInfo(0).normalizedTime;
|
|
if (!this.animator.GetCurrentAnimatorStateInfo(0).IsName("GameCardOn"))
|
|
{
|
|
num = 1f;
|
|
}
|
|
if (this.animator.GetCurrentAnimatorStateInfo(0).IsName("GameCardOn") || this.animator.GetCurrentAnimatorStateInfo(0).IsName("GameCardIdle"))
|
|
{
|
|
this.animator.Play("GameCardOff", 0, 1f - num);
|
|
}
|
|
this.animator.SetBool("On", false);
|
|
}
|
|
|
|
// Token: 0x06000F9B RID: 3995 RVA: 0x0012E848 File Offset: 0x0012CA48
|
|
private IEnumerator StartEnd()
|
|
{
|
|
yield return new WaitForSeconds(0.06f);
|
|
if (!this.hoverCharacter)
|
|
{
|
|
this.ToggleState(false);
|
|
this.EndHoverContinued();
|
|
}
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x06000F9C RID: 3996 RVA: 0x0012E858 File Offset: 0x0012CA58
|
|
public void AnimationDone()
|
|
{
|
|
this.ToggleState(false);
|
|
this.animator.enabled = false;
|
|
if (this.portraitCharacterToRemove && this.portraitCharacterToRemove.npc && !this.portraitCharacterToRemove.ghost && !this.portraitCharacterToRemove.party)
|
|
{
|
|
if (this.fullCard)
|
|
{
|
|
Links.x.renderPortraits.RemoveCharacter(this.portraitCharacterToRemove, "", null);
|
|
}
|
|
this.portraitCharacterToRemove = null;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000F9D RID: 3997 RVA: 0x0012E8D8 File Offset: 0x0012CAD8
|
|
public void ToggleState(bool state)
|
|
{
|
|
for (int i = 0; i < this.images.Count; i++)
|
|
{
|
|
this.images[i].enabled = state;
|
|
}
|
|
for (int j = 0; j < this.texts.Count; j++)
|
|
{
|
|
this.texts[j].enabled = state;
|
|
}
|
|
this.portrait.enabled = state;
|
|
}
|
|
|
|
// Token: 0x040019A7 RID: 6567
|
|
public Animator animator;
|
|
|
|
// Token: 0x040019A8 RID: 6568
|
|
public RectTransform rt;
|
|
|
|
// Token: 0x040019A9 RID: 6569
|
|
public RectTransform scrollViewRT;
|
|
|
|
// Token: 0x040019AA RID: 6570
|
|
public RectTransform vignetteRT;
|
|
|
|
// Token: 0x040019AB RID: 6571
|
|
public float offset;
|
|
|
|
// Token: 0x040019AC RID: 6572
|
|
public List<Image> images = new List<Image>();
|
|
|
|
// Token: 0x040019AD RID: 6573
|
|
public List<TextMeshProUGUI> texts = new List<TextMeshProUGUI>();
|
|
|
|
// Token: 0x040019AE RID: 6574
|
|
public RawImage portrait;
|
|
|
|
// Token: 0x040019AF RID: 6575
|
|
public TextMeshProUGUI characterName;
|
|
|
|
// Token: 0x040019B0 RID: 6576
|
|
public TextMeshProUGUI hp;
|
|
|
|
// Token: 0x040019B1 RID: 6577
|
|
public TextMeshProUGUI dmg;
|
|
|
|
// Token: 0x040019B2 RID: 6578
|
|
public TextMeshProUGUI status;
|
|
|
|
// Token: 0x040019B3 RID: 6579
|
|
public TextMeshProUGUI controlsText;
|
|
|
|
// Token: 0x040019B4 RID: 6580
|
|
public Character hoverCharacter;
|
|
|
|
// Token: 0x040019B5 RID: 6581
|
|
public Image healthBar;
|
|
|
|
// Token: 0x040019B6 RID: 6582
|
|
public Image healthBarBack;
|
|
|
|
// Token: 0x040019B7 RID: 6583
|
|
public Image fatigueBar;
|
|
|
|
// Token: 0x040019B8 RID: 6584
|
|
public Image fatigueBarBack;
|
|
|
|
// Token: 0x040019B9 RID: 6585
|
|
private List<Effects> effects;
|
|
|
|
// Token: 0x040019BA RID: 6586
|
|
private List<int> diceCountMods;
|
|
|
|
// Token: 0x040019BB RID: 6587
|
|
private List<int> diceSideMods;
|
|
|
|
// Token: 0x040019BC RID: 6588
|
|
private List<int> diceTypeMods;
|
|
|
|
// Token: 0x040019BD RID: 6589
|
|
public Sprite emptySprite;
|
|
|
|
// Token: 0x040019BE RID: 6590
|
|
public RenderTexture texturesIdle;
|
|
|
|
// Token: 0x040019BF RID: 6591
|
|
private float updateTime;
|
|
|
|
// Token: 0x040019C0 RID: 6592
|
|
public int currIndex;
|
|
|
|
// Token: 0x040019C1 RID: 6593
|
|
private IEnumerator coroutine;
|
|
|
|
// Token: 0x040019C2 RID: 6594
|
|
private float closeTime;
|
|
|
|
// Token: 0x040019C3 RID: 6595
|
|
public bool needToScroll;
|
|
|
|
// Token: 0x040019C4 RID: 6596
|
|
private float t;
|
|
|
|
// Token: 0x040019C5 RID: 6597
|
|
private float start;
|
|
|
|
// Token: 0x040019C6 RID: 6598
|
|
private float target;
|
|
|
|
// Token: 0x040019C7 RID: 6599
|
|
public RectTransform statusRT;
|
|
|
|
// Token: 0x040019C8 RID: 6600
|
|
private StringFast str = new StringFast(64);
|
|
|
|
// Token: 0x040019C9 RID: 6601
|
|
public int savedHealth;
|
|
|
|
// Token: 0x040019CA RID: 6602
|
|
public bool stopPlaying;
|
|
|
|
// Token: 0x040019CB RID: 6603
|
|
public Texture ghostTexture;
|
|
|
|
// Token: 0x040019CC RID: 6604
|
|
public CanvasGroup badgesCanvasGroup;
|
|
|
|
// Token: 0x040019CD RID: 6605
|
|
public float targetAlpha;
|
|
|
|
// Token: 0x040019CE RID: 6606
|
|
public ItemCard itemCard;
|
|
|
|
// Token: 0x040019CF RID: 6607
|
|
private Character portraitCharacterToRemove;
|
|
|
|
// Token: 0x040019D0 RID: 6608
|
|
public bool fullCard;
|
|
|
|
// Token: 0x040019D1 RID: 6609
|
|
private Body body;
|
|
}
|