1595 lines
43 KiB
C#
1595 lines
43 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
// Token: 0x0200003F RID: 63
|
|
public class PartyCollider : MonoBehaviour
|
|
{
|
|
// Token: 0x06000804 RID: 2052 RVA: 0x000AFD78 File Offset: 0x000ADF78
|
|
private void Start()
|
|
{
|
|
if (this.adventure)
|
|
{
|
|
this.hitItems = this.itemCollector.hitItems;
|
|
this.UpdateControlsText();
|
|
this.nearTalkCharacters = Links.x.hudControl.nearTalkCharacters;
|
|
this.nearBreakables = Links.x.hudControl.nearBreakables;
|
|
this.nearChests = Links.x.hudControl.nearChests;
|
|
this.nearPuzzles = Links.x.hudControl.nearPuzzles;
|
|
this.nearDoors = Links.x.hudControl.nearDoors;
|
|
this.nearBoats = Links.x.hudControl.nearBoats;
|
|
this.nearMapExits = Links.x.hudControl.nearMapExits;
|
|
if (this.exitsAnimator.gameObject.activeSelf && this.exitsAnimator.gameObject.activeInHierarchy)
|
|
{
|
|
this.exitsAnimator.Play("ControllerButtonDeactive");
|
|
this.defendAnimator.gameObject.SetActive(false);
|
|
this.interactAnimator.Play("ControllerButtonDeactive");
|
|
this.controllerWheel3.SetActive(true);
|
|
this.SetTargetText(0);
|
|
this.menusAnimator.Play("ControllerButtonActivate");
|
|
this.menuNoticeOn = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000805 RID: 2053 RVA: 0x000AFEB9 File Offset: 0x000AE0B9
|
|
public void SetRadius(float size)
|
|
{
|
|
if (!this.coll)
|
|
{
|
|
this.coll = base.gameObject.GetComponent<SphereCollider>();
|
|
}
|
|
this.coll.radius = size;
|
|
}
|
|
|
|
// Token: 0x06000806 RID: 2054 RVA: 0x000AFEE8 File Offset: 0x000AE0E8
|
|
public void UpdatePocket()
|
|
{
|
|
if (Records.x.pocketPause && this.adventure)
|
|
{
|
|
this.nearBreakables = Links.x.combat.nearBreakables;
|
|
this.nearChests = Links.x.combat.nearChests;
|
|
this.nearPuzzles = Links.x.combat.nearPuzzles;
|
|
this.nearDoors = Links.x.combat.nearDoors;
|
|
}
|
|
if (!Records.x.pocketPause && this.adventure)
|
|
{
|
|
this.nearBreakables = Links.x.hudControl.nearBreakables;
|
|
this.nearChests = Links.x.hudControl.nearChests;
|
|
this.nearPuzzles = Links.x.hudControl.nearPuzzles;
|
|
this.nearDoors = Links.x.hudControl.nearDoors;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000807 RID: 2055 RVA: 0x000AFFC8 File Offset: 0x000AE1C8
|
|
public void UpdateControlsText()
|
|
{
|
|
this.exitsText.spriteAsset = Links.x.GetSpriteSheetAsset(Links.x.gameplay.currentSpriteSheetAsset);
|
|
this.interactText.spriteAsset = Links.x.GetSpriteSheetAsset(Links.x.gameplay.currentSpriteSheetAsset);
|
|
}
|
|
|
|
// Token: 0x06000808 RID: 2056 RVA: 0x000B0020 File Offset: 0x000AE220
|
|
public void ToggleController()
|
|
{
|
|
this.exitsAnimator.Play("ControllerButtonDeactive");
|
|
this.noticeOn = false;
|
|
this.defendAnimator.gameObject.SetActive(false);
|
|
this.interactAnimator.Play("ControllerButtonDeactive");
|
|
this.actionAnimator.Play("ControllerButtonActivate");
|
|
this.actionNoticeOn = true;
|
|
this.menuNoticeOn = true;
|
|
this.menusAnimator.Play("ControllerButtonActivate");
|
|
}
|
|
|
|
// Token: 0x06000809 RID: 2057 RVA: 0x000B0093 File Offset: 0x000AE293
|
|
public bool InRangeToHover(Boat c)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600080A RID: 2058 RVA: 0x000B0096 File Offset: 0x000AE296
|
|
public bool InRangeToHover(Character c)
|
|
{
|
|
bool aimHold = Links.x.gameplay.aimHold;
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600080B RID: 2059 RVA: 0x000B00A9 File Offset: 0x000AE2A9
|
|
public bool InRangeToHover(DoorActions d)
|
|
{
|
|
bool aimHold = Links.x.gameplay.aimHold;
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600080C RID: 2060 RVA: 0x000B00BC File Offset: 0x000AE2BC
|
|
public bool InRangeToHover(PuzzleActions d)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600080D RID: 2061 RVA: 0x000B00BF File Offset: 0x000AE2BF
|
|
public bool InRangeToHover(BreakableActions d)
|
|
{
|
|
if (!d)
|
|
{
|
|
return false;
|
|
}
|
|
if (d.breakable.armor > 0)
|
|
{
|
|
bool aimHold = Links.x.gameplay.aimHold;
|
|
return true;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600080E RID: 2062 RVA: 0x000B00EC File Offset: 0x000AE2EC
|
|
public bool InRangeToHover(ChestActions d)
|
|
{
|
|
bool aimHold = Links.x.gameplay.aimHold;
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x0600080F RID: 2063 RVA: 0x000B00FF File Offset: 0x000AE2FF
|
|
public bool InRangeToHover(Item d)
|
|
{
|
|
return d && this.InRange(d.tr.position);
|
|
}
|
|
|
|
// Token: 0x06000810 RID: 2064 RVA: 0x000B011C File Offset: 0x000AE31C
|
|
public bool InRangeToHover(MapExitActions d)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06000811 RID: 2065 RVA: 0x000B011F File Offset: 0x000AE31F
|
|
public bool InRange(Boat c)
|
|
{
|
|
return c && this.InRange(c.tr.position);
|
|
}
|
|
|
|
// Token: 0x06000812 RID: 2066 RVA: 0x000B013C File Offset: 0x000AE33C
|
|
public bool InRange(Character c)
|
|
{
|
|
return c && ((!Records.x.partySailing && c.isBoro) || (c.hostility < 2 && !c.attackingUntilBribe && c.npc && !c.stats.animal && c.IsSentient() && !c.dayNightVanishing && !Records.x.InCombat(false) && c.stats.dialogueFile != "")) && this.InRange(c.currentPosition);
|
|
}
|
|
|
|
// Token: 0x06000813 RID: 2067 RVA: 0x000B01CF File Offset: 0x000AE3CF
|
|
public bool InRange(DoorActions d)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06000814 RID: 2068 RVA: 0x000B01D2 File Offset: 0x000AE3D2
|
|
public bool InRange(PuzzleActions d)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06000815 RID: 2069 RVA: 0x000B01D5 File Offset: 0x000AE3D5
|
|
public bool InRange(BreakableActions d)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06000816 RID: 2070 RVA: 0x000B01D8 File Offset: 0x000AE3D8
|
|
public bool InRange(ChestActions d)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06000817 RID: 2071 RVA: 0x000B01DB File Offset: 0x000AE3DB
|
|
public bool InRange(Item d)
|
|
{
|
|
return d && this.InRange(d.tr.position);
|
|
}
|
|
|
|
// Token: 0x06000818 RID: 2072 RVA: 0x000B01F8 File Offset: 0x000AE3F8
|
|
public bool InRange(MapExitActions d)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
// Token: 0x06000819 RID: 2073 RVA: 0x000B01FB File Offset: 0x000AE3FB
|
|
public bool InRange(Vector3 pt)
|
|
{
|
|
return this.DistCheck(pt) < 25f;
|
|
}
|
|
|
|
// Token: 0x0600081A RID: 2074 RVA: 0x000B0210 File Offset: 0x000AE410
|
|
private void Update()
|
|
{
|
|
if (this.adventure && Links.x.joy)
|
|
{
|
|
if ((!this.hitBeach && this.hitItems.Count == 0 && this.nearTalkCharacters.Count == 0 && this.nearBreakables.Count == 0 && this.nearChests.Count == 0 && this.nearPuzzles.Count == 0 && this.nearDoors.Count == 0 && this.nearBoats.Count == 0 && this.nearMapExits.Count == 0) || Records.x.removeControls || Records.x.pocketPause || Links.x.gameplay.inPartyDock || Links.x.gameplay.gameFeedScrolling || Links.x.gameplay.badgeScrolling || !Links.x.gaia.sceneLoaded || Links.x.gameplay.makeCircleMode)
|
|
{
|
|
this.closestItem = null;
|
|
if (this.hitItems.Count == 0)
|
|
{
|
|
this.closestItem = null;
|
|
}
|
|
this.closestCharacter = null;
|
|
this.closestBreakable = null;
|
|
this.closestChest = null;
|
|
this.closestDoor = null;
|
|
this.closestMapExit = null;
|
|
this.closestBoat = null;
|
|
this.closestPuzzle = null;
|
|
this.closestMapExit = null;
|
|
this.nearBeach = null;
|
|
this.prevBeach = null;
|
|
if (this.mapNoticeOn)
|
|
{
|
|
this.exitsAnimator.Play("ControllerButtonDeactive");
|
|
this.mapNoticeOn = false;
|
|
}
|
|
if (this.interactNoticeOn)
|
|
{
|
|
this.interactAnimator.Play("ControllerButtonDeactive");
|
|
this.interactNoticeOn = false;
|
|
}
|
|
if (Links.x.main)
|
|
{
|
|
this.forw = Links.x.main.tr.forward;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (this.closestCharacter)
|
|
{
|
|
GameObject gameObject = this.closestCharacter.gameObject;
|
|
}
|
|
if (this.closestBreakable)
|
|
{
|
|
GameObject gameObject2 = this.closestBreakable.gameObject;
|
|
}
|
|
if (this.closestChest)
|
|
{
|
|
GameObject gameObject3 = this.closestChest.gameObject;
|
|
}
|
|
if (this.closestDoor)
|
|
{
|
|
GameObject gameObject4 = this.closestDoor.gameObject;
|
|
}
|
|
if (this.closestPuzzle)
|
|
{
|
|
GameObject gameObject5 = this.closestPuzzle.gameObject;
|
|
}
|
|
if (this.closestBoat)
|
|
{
|
|
GameObject gameObject6 = this.closestBoat.gameObject;
|
|
}
|
|
this.closestCharacter = null;
|
|
this.closestBreakable = null;
|
|
this.closestChest = null;
|
|
this.closestDoor = null;
|
|
this.closestMapExit = null;
|
|
this.closestBoat = null;
|
|
this.closestPuzzle = null;
|
|
this.closestItem = null;
|
|
this.nearBeach = null;
|
|
this.main = Links.x.main.tr.position;
|
|
this.mainSight = Links.x.main.tr.position;
|
|
Vector2 move = Links.x.fellowship.move;
|
|
float num = Mathf.Atan2(move.x, move.y) / 3.1415927f * 180f;
|
|
if (num < 0f)
|
|
{
|
|
num += 360f;
|
|
}
|
|
if (Links.x.main)
|
|
{
|
|
this.forw = Links.x.main.tr.forward;
|
|
}
|
|
Vector3 vector = this.main + this.forw * 3f;
|
|
Vector3 vector2 = this.mainSight + this.forw * 3f;
|
|
if (!Links.x.gameplay.aimHold)
|
|
{
|
|
vector2 = this.mainSight + this.forw * 3f;
|
|
}
|
|
if (Mathf.Abs(move.magnitude) > 0.1f && Links.x.gameplay.aimHold && !Links.x.gameplay.gameFeedScrolling && !Links.x.gameplay.badgeScrolling)
|
|
{
|
|
this.forw = Quaternion.Euler(0f, num + Links.x.worldCamera.transform.rotation.eulerAngles.y, 0f) * Vector3.forward;
|
|
float num2 = 4f;
|
|
vector = this.main + this.forw * (num2 * Mathf.Abs(move.magnitude));
|
|
vector2 = this.mainSight + this.forw * (num2 * Mathf.Abs(move.magnitude));
|
|
}
|
|
this.main = vector;
|
|
this.mainSight = vector2;
|
|
int num3 = 0;
|
|
float num4 = 10000f;
|
|
if (!Records.x.pocketPause)
|
|
{
|
|
for (int i = 0; i < this.hitItems.Count; i++)
|
|
{
|
|
if (this.InRangeToHover(this.hitItems[i]))
|
|
{
|
|
float num5 = this.Dist(this.hitItems[i].tr.position);
|
|
if (num5 < num4)
|
|
{
|
|
this.closestItem = this.hitItems[i];
|
|
num4 = num5;
|
|
num3++;
|
|
}
|
|
}
|
|
if (this.InRange(this.hitItems[i]))
|
|
{
|
|
if (!this.hitItems[i].closeEnoughToPickup)
|
|
{
|
|
this.hitItems[i].ToggleCloseEnoughToPickup(true);
|
|
}
|
|
}
|
|
else if (this.hitItems[i].closeEnoughToPickup)
|
|
{
|
|
this.hitItems[i].ToggleCloseEnoughToPickup(false);
|
|
}
|
|
}
|
|
}
|
|
num4 = 100000f;
|
|
for (int j = 0; j < this.nearTalkCharacters.Count; j++)
|
|
{
|
|
if (this.InRangeToHover(this.nearTalkCharacters[j]))
|
|
{
|
|
float num6 = this.DistSight(this.nearTalkCharacters[j].currentPosition);
|
|
if (num6 < num4 && !this.nearTalkCharacters[j].ambushing)
|
|
{
|
|
this.closestCharacter = this.nearTalkCharacters[j];
|
|
num4 = num6;
|
|
num3++;
|
|
}
|
|
}
|
|
}
|
|
Character selectedRallyCharacter = Links.x.main;
|
|
if (Links.x.pocketWheel.rallyWheelOpen && Links.x.pocketWheel.selectedRallyCharacter)
|
|
{
|
|
selectedRallyCharacter = Links.x.pocketWheel.selectedRallyCharacter;
|
|
}
|
|
num4 = 100000f;
|
|
for (int k = 0; k < this.nearBreakables.Count; k++)
|
|
{
|
|
bool flag;
|
|
if (Records.x.pocketPause)
|
|
{
|
|
flag = Links.x.combat.CheckInteractiveLineOfSight(this.nearBreakables[k], null, null, null, selectedRallyCharacter);
|
|
}
|
|
else
|
|
{
|
|
flag = this.InRangeToHover(this.nearBreakables[k]);
|
|
}
|
|
if (flag)
|
|
{
|
|
float num7;
|
|
if (this.nearBreakables[k].breakable.armor > 0)
|
|
{
|
|
num7 = this.DistSight(this.nearBreakables[k].gameObject.transform.position);
|
|
}
|
|
else
|
|
{
|
|
num7 = this.Dist(this.nearBreakables[k].gameObject.transform.position);
|
|
}
|
|
if (num7 < num4)
|
|
{
|
|
this.closestBreakable = this.nearBreakables[k];
|
|
num4 = num7;
|
|
num3++;
|
|
}
|
|
}
|
|
}
|
|
num4 = 100000f;
|
|
for (int l = 0; l < this.nearChests.Count; l++)
|
|
{
|
|
bool flag2;
|
|
if (Records.x.pocketPause)
|
|
{
|
|
flag2 = Links.x.combat.CheckInteractiveLineOfSight(null, null, this.nearChests[l], null, selectedRallyCharacter);
|
|
}
|
|
else
|
|
{
|
|
flag2 = this.InRangeToHover(this.nearChests[l]);
|
|
}
|
|
if (flag2)
|
|
{
|
|
float num8 = this.DistSight(this.nearChests[l].gameObject.transform.position);
|
|
if (num8 < num4)
|
|
{
|
|
this.closestChest = this.nearChests[l];
|
|
num4 = num8;
|
|
num3++;
|
|
}
|
|
}
|
|
}
|
|
num4 = 100000f;
|
|
for (int m = 0; m < this.nearMapExits.Count; m++)
|
|
{
|
|
if (this.InRangeToHover(this.nearMapExits[m]))
|
|
{
|
|
float num9 = this.Dist(this.nearMapExits[m].mapExit.doorPoint);
|
|
if (num9 < num4)
|
|
{
|
|
this.closestMapExit = this.nearMapExits[m];
|
|
num4 = num9;
|
|
num3++;
|
|
}
|
|
}
|
|
}
|
|
num4 = 100000f;
|
|
for (int n = 0; n < this.nearDoors.Count; n++)
|
|
{
|
|
bool flag3;
|
|
if (Records.x.pocketPause)
|
|
{
|
|
flag3 = Links.x.combat.CheckInteractiveLineOfSight(null, this.nearDoors[n], null, null, selectedRallyCharacter);
|
|
}
|
|
else
|
|
{
|
|
flag3 = this.InRangeToHover(this.nearDoors[n]);
|
|
}
|
|
if (flag3)
|
|
{
|
|
float num10 = this.DistSight(this.nearDoors[n].lockColliderPosition);
|
|
if (num10 < num4)
|
|
{
|
|
this.closestDoor = this.nearDoors[n];
|
|
num4 = num10;
|
|
num3++;
|
|
}
|
|
}
|
|
}
|
|
num4 = 100000f;
|
|
for (int num11 = 0; num11 < this.nearPuzzles.Count; num11++)
|
|
{
|
|
bool flag4;
|
|
if (Records.x.pocketPause)
|
|
{
|
|
flag4 = Links.x.combat.CheckInteractiveLineOfSight(null, null, null, this.nearPuzzles[num11], selectedRallyCharacter);
|
|
}
|
|
else
|
|
{
|
|
flag4 = this.InRangeToHover(this.nearPuzzles[num11]);
|
|
}
|
|
if (flag4)
|
|
{
|
|
float num12 = this.Dist(this.nearPuzzles[num11].gameObject.transform.position);
|
|
if (num12 < num4)
|
|
{
|
|
this.closestPuzzle = this.nearPuzzles[num11];
|
|
num4 = num12;
|
|
num3++;
|
|
}
|
|
}
|
|
}
|
|
num4 = 100000f;
|
|
for (int num13 = 0; num13 < this.nearBoats.Count; num13++)
|
|
{
|
|
if (this.InRangeToHover(this.nearBoats[num13]))
|
|
{
|
|
float num14 = this.Dist(this.nearBoats[num13].tr.position);
|
|
if (num14 < num4)
|
|
{
|
|
this.closestBoat = this.nearBoats[num13];
|
|
num4 = num14;
|
|
num3++;
|
|
}
|
|
}
|
|
}
|
|
num4 = 100000f;
|
|
GameObject gameObject7 = null;
|
|
int num15 = -1;
|
|
for (int num16 = 0; num16 < 8; num16++)
|
|
{
|
|
float num17 = 100000f;
|
|
if (num16 == 0 && this.closestItem)
|
|
{
|
|
num17 = this.Dist(this.closestItem.tr.position);
|
|
}
|
|
if (num16 == 1 && this.closestCharacter)
|
|
{
|
|
num17 = this.DistSight(this.closestCharacter.tr.position);
|
|
}
|
|
if (num16 == 2 && this.closestBreakable)
|
|
{
|
|
if (this.closestBreakable.breakable.armor > 0)
|
|
{
|
|
num17 = this.DistSight(this.closestBreakable.gameObject.transform.position);
|
|
}
|
|
else
|
|
{
|
|
num17 = this.Dist(this.closestBreakable.gameObject.transform.position);
|
|
}
|
|
}
|
|
if (num16 == 3 && this.closestChest)
|
|
{
|
|
num17 = this.DistSight(this.closestChest.gameObject.transform.position);
|
|
}
|
|
if (num16 == 4 && this.closestDoor)
|
|
{
|
|
num17 = this.DistSight(this.closestDoor.lockColliderPosition);
|
|
}
|
|
if (num16 == 5 && this.closestMapExit)
|
|
{
|
|
num17 = this.Dist(this.closestMapExit.mapExit.doorPoint);
|
|
}
|
|
if (num16 == 6 && this.closestBoat)
|
|
{
|
|
num17 = this.Dist(this.closestBoat.tr.position);
|
|
}
|
|
if (num16 == 7 && this.closestPuzzle)
|
|
{
|
|
num17 = this.Dist(this.closestPuzzle.gameObject.transform.position);
|
|
}
|
|
if (num17 < num4)
|
|
{
|
|
num15 = num16;
|
|
num4 = num17;
|
|
}
|
|
}
|
|
this.SetTargetText(num3);
|
|
if (Records.x.pocketPause)
|
|
{
|
|
num15 = -1;
|
|
}
|
|
bool flag5 = true;
|
|
if (num15 > -1)
|
|
{
|
|
if (num15 == 1 && this.closestCharacter)
|
|
{
|
|
gameObject7 = this.closestCharacter.gameObject;
|
|
flag5 = this.InRange(this.closestCharacter);
|
|
this.closestBreakable = null;
|
|
this.closestChest = null;
|
|
this.closestDoor = null;
|
|
this.closestBoat = null;
|
|
this.closestPuzzle = null;
|
|
this.closestMapExit = null;
|
|
this.closestItem = null;
|
|
if (this.closestCharacter.stats.dialogueFile != "")
|
|
{
|
|
this.interactText.text = "";
|
|
this.interactIcon.sprite = this.talkSprite;
|
|
}
|
|
else
|
|
{
|
|
this.interactText.text = "";
|
|
this.interactIcon.sprite = this.quipSprite;
|
|
}
|
|
}
|
|
if (num15 == 2 && this.closestBreakable)
|
|
{
|
|
this.closestCharacter = null;
|
|
gameObject7 = this.closestBreakable.gameObject;
|
|
flag5 = this.InRange(this.closestBreakable);
|
|
this.interactText.text = "";
|
|
this.closestChest = null;
|
|
this.closestDoor = null;
|
|
this.closestBoat = null;
|
|
this.closestPuzzle = null;
|
|
this.closestItem = null;
|
|
this.closestMapExit = null;
|
|
this.interactIcon.sprite = this.kickSprite;
|
|
}
|
|
if (num15 == 5 && this.closestMapExit)
|
|
{
|
|
this.closestCharacter = null;
|
|
gameObject7 = this.closestMapExit.gameObject;
|
|
flag5 = this.InRange(this.closestMapExit);
|
|
this.interactText.text = "";
|
|
this.closestChest = null;
|
|
this.closestDoor = null;
|
|
this.closestBoat = null;
|
|
this.closestPuzzle = null;
|
|
this.closestItem = null;
|
|
this.closestBreakable = null;
|
|
}
|
|
if (num15 == 0 && this.closestItem)
|
|
{
|
|
this.closestCharacter = null;
|
|
gameObject7 = this.closestItem.gameObject;
|
|
flag5 = this.InRange(this.closestItem);
|
|
this.interactText.text = "";
|
|
this.closestChest = null;
|
|
this.closestDoor = null;
|
|
this.closestBoat = null;
|
|
this.closestPuzzle = null;
|
|
this.closestMapExit = null;
|
|
this.closestBreakable = null;
|
|
}
|
|
if (num15 == 3 && this.closestChest)
|
|
{
|
|
this.closestCharacter = null;
|
|
this.closestBreakable = null;
|
|
gameObject7 = this.closestChest.gameObject;
|
|
if (this.closestChest.HasKey(Links.x.main))
|
|
{
|
|
this.interactIcon.sprite = this.keySprite;
|
|
this.interactText.text = "";
|
|
}
|
|
else
|
|
{
|
|
this.interactIcon.sprite = this.lockSprite;
|
|
this.interactText.text = "";
|
|
}
|
|
flag5 = this.InRange(this.closestChest);
|
|
this.closestDoor = null;
|
|
this.closestMapExit = null;
|
|
this.closestItem = null;
|
|
this.closestBoat = null;
|
|
this.closestPuzzle = null;
|
|
}
|
|
if (num15 == 4 && this.closestDoor)
|
|
{
|
|
this.closestCharacter = null;
|
|
this.closestBreakable = null;
|
|
this.closestChest = null;
|
|
gameObject7 = this.closestDoor.gameObject;
|
|
if (!this.closestDoor.HasKey(Links.x.main))
|
|
{
|
|
this.interactText.text = "";
|
|
this.interactIcon.sprite = this.lockSprite;
|
|
}
|
|
else
|
|
{
|
|
this.interactIcon.sprite = this.keySprite;
|
|
this.interactText.text = "";
|
|
}
|
|
flag5 = this.InRange(this.closestDoor);
|
|
this.closestBoat = null;
|
|
this.closestPuzzle = null;
|
|
this.closestMapExit = null;
|
|
this.closestItem = null;
|
|
}
|
|
if (num15 == 6 && this.closestBoat)
|
|
{
|
|
this.closestCharacter = null;
|
|
this.closestBreakable = null;
|
|
this.closestMapExit = null;
|
|
this.closestItem = null;
|
|
this.closestChest = null;
|
|
this.closestDoor = null;
|
|
gameObject7 = this.closestBoat.gameObject;
|
|
flag5 = this.InRange(this.closestBoat);
|
|
this.interactText.text = "Loot";
|
|
this.closestPuzzle = null;
|
|
this.interactIcon.sprite = this.emptySprite;
|
|
}
|
|
if (num15 == 7 && this.closestPuzzle)
|
|
{
|
|
this.closestCharacter = null;
|
|
this.closestBreakable = null;
|
|
this.closestChest = null;
|
|
this.closestDoor = null;
|
|
this.closestBoat = null;
|
|
gameObject7 = this.closestPuzzle.gameObject;
|
|
flag5 = this.InRange(this.closestPuzzle);
|
|
this.interactText.text = "";
|
|
this.interactIcon.sprite = this.useSprite;
|
|
this.closestMapExit = null;
|
|
this.closestItem = null;
|
|
}
|
|
}
|
|
if (gameObject7 && flag5)
|
|
{
|
|
if (!this.interactNoticeOn && !Records.x.pocketPause)
|
|
{
|
|
this.interactAnimator.Play("ControllerButtonActivate");
|
|
this.interactNoticeOn = true;
|
|
}
|
|
}
|
|
else if (this.interactNoticeOn)
|
|
{
|
|
this.interactAnimator.Play("ControllerButtonDeactive");
|
|
this.interactNoticeOn = false;
|
|
}
|
|
bool flag6 = false;
|
|
if (gameObject7 && this.closestMapExit && gameObject7 == this.closestMapExit.gameObject)
|
|
{
|
|
flag6 = true;
|
|
}
|
|
bool flag7 = false;
|
|
if (gameObject7 && this.closestItem && gameObject7 == this.closestItem.gameObject)
|
|
{
|
|
flag7 = true;
|
|
}
|
|
if (flag6 && this.closestMapExit != this.prevExit)
|
|
{
|
|
this.str.Clear();
|
|
this.str.Append("<voffset=.4em><size=30><sprite=");
|
|
int controllerSprite = Links.x.gameplay.GetControllerSprite("InteractExits", Links.x.gameplay.controllerName);
|
|
this.str.Append(controllerSprite);
|
|
this.str.Append("></size></voffset> ");
|
|
if (this.closestMapExit.mapExit.exitTo == MapExit.exitToNames.Interiors || this.closestMapExit.mapExit.exitTo == MapExit.exitToNames.Exterior)
|
|
{
|
|
this.str.Append("Use doorway");
|
|
this.interactIcon.sprite = this.doorSprite;
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("Exit map");
|
|
this.interactIcon.sprite = this.mapSprite;
|
|
}
|
|
this.interactText.text = "";
|
|
this.interactIconAddon.enabled = false;
|
|
}
|
|
this.prevExit = this.closestMapExit;
|
|
if (false)
|
|
{
|
|
if (!this.closestMapExit && this.hitBeach && !Records.x.removeControls && !Records.x.InCombat(false))
|
|
{
|
|
this.nearBeach = this.hitBeach;
|
|
if (this.nearBeach != this.prevBeach)
|
|
{
|
|
this.str.Clear();
|
|
this.str.Append("<voffset=.4em><size=30><sprite=");
|
|
int controllerSprite2 = Links.x.gameplay.GetControllerSprite("InteractExits", Links.x.gameplay.controllerName);
|
|
this.str.Append(controllerSprite2);
|
|
this.str.Append("></size></voffset> ");
|
|
if (Records.x.partySailing)
|
|
{
|
|
this.str.Append("Beach boat");
|
|
this.exitsIcon.sprite = this.beachSprite;
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("Sail");
|
|
this.exitsIcon.sprite = this.sailingSprite;
|
|
}
|
|
this.interactIconAddon.enabled = false;
|
|
}
|
|
}
|
|
this.prevBeach = this.nearBeach;
|
|
}
|
|
if (Records.x.removeControls || (!this.closestMapExit && !this.nearBeach))
|
|
{
|
|
this.nearBeach = null;
|
|
this.prevBeach = null;
|
|
}
|
|
if (flag7 && this.closestItem != this.prevItem)
|
|
{
|
|
bool flag8 = this.closestItem.forSale;
|
|
bool flag9 = false;
|
|
bool flag10 = false;
|
|
if (Links.x.main.body.sneaking)
|
|
{
|
|
flag9 = true;
|
|
}
|
|
if (flag9)
|
|
{
|
|
this.closestItem.GetLinkedCharacter();
|
|
if (this.closestItem.linkedCharacter)
|
|
{
|
|
flag10 = this.closestItem.CheckToSteal(false);
|
|
}
|
|
else
|
|
{
|
|
flag9 = false;
|
|
}
|
|
}
|
|
if (this.closestItem.forSale)
|
|
{
|
|
this.closestItem.GetLinkedCharacter();
|
|
if (!this.closestItem.linkedCharacter)
|
|
{
|
|
this.closestItem.forSale = false;
|
|
flag8 = false;
|
|
}
|
|
if (this.closestItem.linkedCharacter)
|
|
{
|
|
if (this.closestItem.linkedCharacter.dead)
|
|
{
|
|
this.closestItem.forSale = false;
|
|
flag8 = false;
|
|
}
|
|
else if (this.closestItem.linkedCharacter.stunned)
|
|
{
|
|
flag8 = false;
|
|
}
|
|
}
|
|
if (flag9)
|
|
{
|
|
flag8 = false;
|
|
}
|
|
}
|
|
this.str.Clear();
|
|
this.str.Append("<voffset=.4em><size=30><sprite=");
|
|
int controllerSprite3 = Links.x.gameplay.GetControllerSprite("InteractItems", Links.x.gameplay.controllerName);
|
|
this.str.Append(controllerSprite3);
|
|
this.str.Append("></size></voffset>");
|
|
if (flag8)
|
|
{
|
|
this.closestItem.GetLinkedCharacter();
|
|
this.str.Append("Buy ");
|
|
}
|
|
else if (flag9)
|
|
{
|
|
if (flag10)
|
|
{
|
|
this.str.Append("<color=#629AA4>Steal</color>");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("<color=#629AA4>Steal</color> <color=#BF493B>(Stealing will be seen or heard)</color> ");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("Pick up ");
|
|
}
|
|
if (this.closestItem.stackSize > 1)
|
|
{
|
|
this.str.Append(this.closestItem.stackSize);
|
|
this.str.Append(" ");
|
|
}
|
|
this.str.Append(this.closestItem.invRow._DisplayName);
|
|
if (this.closestItem.stackSize > 1 && !this.closestItem.invRow._DisplayName.Contains("+"))
|
|
{
|
|
this.str.Append("s");
|
|
}
|
|
if (flag8)
|
|
{
|
|
float cost = this.closestItem.GetCost(false, Links.x.main, this.closestItem.linkedCharacter);
|
|
if ((float)Links.x.inventory.emeralds < cost)
|
|
{
|
|
this.str.Append("<color=#BF493B> (");
|
|
}
|
|
else
|
|
{
|
|
this.str.Append("<color=#92C861> (");
|
|
}
|
|
this.str.Append(cost);
|
|
this.str.Append(" emerald");
|
|
if (cost != 1f)
|
|
{
|
|
this.str.Append("s");
|
|
}
|
|
this.str.Append(")</color> ");
|
|
}
|
|
else
|
|
{
|
|
this.interactIconAddon.enabled = false;
|
|
}
|
|
this.interactIcon.sprite = Links.x.archives.GetItem(this.closestItem.invRow._UIModel);
|
|
this.interactText.text = "";
|
|
}
|
|
this.prevItem = this.closestItem;
|
|
}
|
|
}
|
|
if (this.adventure && !Links.x.joy)
|
|
{
|
|
if (this.noticeOn)
|
|
{
|
|
this.noticeOn = false;
|
|
this.defendAnimator.gameObject.SetActive(false);
|
|
}
|
|
if (this.mapNoticeOn)
|
|
{
|
|
this.exitsAnimator.Play("ControllerButtonDeactive");
|
|
this.mapNoticeOn = false;
|
|
}
|
|
if (this.interactNoticeOn)
|
|
{
|
|
this.interactAnimator.Play("ControllerButtonDeactive");
|
|
this.interactNoticeOn = false;
|
|
}
|
|
if (this.actionNoticeOn)
|
|
{
|
|
this.actionAnimator.Play("ControllerButtonDeactive");
|
|
this.actionNoticeOn = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600081B RID: 2075 RVA: 0x000B1A34 File Offset: 0x000AFC34
|
|
public void SetTargetText(int targetCount)
|
|
{
|
|
if (Records.x.pocketPause)
|
|
{
|
|
if (Links.x.pocketWheel.targetSelection)
|
|
{
|
|
this.controllerWheelTextIcon.text = "<sprite=10>";
|
|
this.controllerWheelTextLabel.text = " Target";
|
|
return;
|
|
}
|
|
this.controllerWheelTextIcon.text = "";
|
|
this.controllerWheelTextLabel.text = " ";
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
if (targetCount > 1)
|
|
{
|
|
this.controllerWheelTextIcon.text = "<sprite=8> <sprite=10>";
|
|
this.controllerWheelTextLabel.text = "+ Change Target";
|
|
return;
|
|
}
|
|
this.controllerWheelTextIcon.text = "<sprite=8>";
|
|
this.controllerWheelTextLabel.text = " Target";
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600081C RID: 2076 RVA: 0x000B1AE8 File Offset: 0x000AFCE8
|
|
public void ToggleMenu(bool state)
|
|
{
|
|
if (state)
|
|
{
|
|
if (!this.menuNoticeOn)
|
|
{
|
|
this.menuNoticeOn = true;
|
|
this.menusAnimator.Play("ControllerButtonActivate");
|
|
return;
|
|
}
|
|
}
|
|
else if (this.menuNoticeOn)
|
|
{
|
|
this.menuNoticeOn = false;
|
|
this.menusAnimator.Play("ControllerButtonDeactive");
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600081D RID: 2077 RVA: 0x000B1B38 File Offset: 0x000AFD38
|
|
public void ToggleDefend()
|
|
{
|
|
if (!Links.x.gameplay.inPartyDock && Links.x.main.IsSentient() && Records.x.InCombat(false) && Links.x.joy)
|
|
{
|
|
if (!this.noticeOn)
|
|
{
|
|
this.defendAnimator.gameObject.SetActive(true);
|
|
this.noticeOn = true;
|
|
return;
|
|
}
|
|
}
|
|
else if (this.noticeOn)
|
|
{
|
|
this.defendAnimator.gameObject.SetActive(false);
|
|
this.noticeOn = false;
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600081E RID: 2078 RVA: 0x000B1BC4 File Offset: 0x000AFDC4
|
|
public void PocketStart()
|
|
{
|
|
if (Links.x.joy)
|
|
{
|
|
this.actionImage.sprite = this.pocketSprite;
|
|
this.exitsIcon.sprite = this.cancelSprite;
|
|
this.exitsAnimator.gameObject.SetActive(true);
|
|
this.exitsAnimator.Play("ControllerButtonActivate");
|
|
if (!this.actionNoticeOn)
|
|
{
|
|
this.actionAnimator.Play("ControllerButtonActivate");
|
|
this.actionNoticeOn = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x0600081F RID: 2079 RVA: 0x000B1C40 File Offset: 0x000AFE40
|
|
public void ToggleAction(bool state)
|
|
{
|
|
if (state)
|
|
{
|
|
if (!this.actionNoticeOn)
|
|
{
|
|
this.actionAnimator.Play("ControllerButtonActivate");
|
|
this.actionNoticeOn = true;
|
|
return;
|
|
}
|
|
}
|
|
else if (this.actionNoticeOn)
|
|
{
|
|
this.actionAnimator.Play("ControllerButtonDeactive");
|
|
this.actionNoticeOn = false;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000820 RID: 2080 RVA: 0x000B1C90 File Offset: 0x000AFE90
|
|
public void PocketEnd()
|
|
{
|
|
if (Links.x.joy)
|
|
{
|
|
this.actionImage.sprite = this.pocketSprite;
|
|
if (!this.closestMapExit && !this.nearBeach)
|
|
{
|
|
this.exitsAnimator.Play("ControllerButtonDeactive");
|
|
this.mapNoticeOn = false;
|
|
}
|
|
if (!this.actionNoticeOn)
|
|
{
|
|
this.actionAnimator.Play("ControllerButtonActivate");
|
|
this.actionNoticeOn = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000821 RID: 2081 RVA: 0x000B1D0C File Offset: 0x000AFF0C
|
|
private float DistCheck(Vector3 p1)
|
|
{
|
|
p1.y = Links.x.main.currentPosition.y;
|
|
return (p1 - Links.x.main.currentPosition).sqrMagnitude;
|
|
}
|
|
|
|
// Token: 0x06000822 RID: 2082 RVA: 0x000B1D54 File Offset: 0x000AFF54
|
|
private float Dist(Vector3 p1)
|
|
{
|
|
p1.y = this.main.y;
|
|
return (p1 - this.main).sqrMagnitude;
|
|
}
|
|
|
|
// Token: 0x06000823 RID: 2083 RVA: 0x000B1D88 File Offset: 0x000AFF88
|
|
private float DistSight(Vector3 p1)
|
|
{
|
|
p1.y = this.mainSight.y;
|
|
return (p1 - this.mainSight).sqrMagnitude;
|
|
}
|
|
|
|
// Token: 0x06000824 RID: 2084 RVA: 0x000B1DBC File Offset: 0x000AFFBC
|
|
private float Dot(Vector3 p1)
|
|
{
|
|
Vector3 vector = Vector3.Normalize(p1 - this.main);
|
|
return Vector3.Dot(this.forw, vector);
|
|
}
|
|
|
|
// Token: 0x06000825 RID: 2085 RVA: 0x000B1DE8 File Offset: 0x000AFFE8
|
|
private float Dot(Vector3 p1, Vector3 f)
|
|
{
|
|
Vector3 vector = Vector3.Normalize(p1 - this.main);
|
|
return Vector3.Dot(f, vector);
|
|
}
|
|
|
|
// Token: 0x06000826 RID: 2086 RVA: 0x000B1E10 File Offset: 0x000B0010
|
|
private void OnTriggerEnter(Collider other)
|
|
{
|
|
GameObject gameObject = other.gameObject;
|
|
if (gameObject)
|
|
{
|
|
if (this.combat)
|
|
{
|
|
if (gameObject.layer == 16)
|
|
{
|
|
BreakableActions component = gameObject.GetComponent<BreakableActions>();
|
|
if (component && !component.destroyed)
|
|
{
|
|
Links.x.combat.AddRemoveInteraction(true, component, null, null, null);
|
|
}
|
|
if (!component)
|
|
{
|
|
PuzzleActions component2 = gameObject.GetComponent<PuzzleActions>();
|
|
if (component2 && component2.canBreak)
|
|
{
|
|
Links.x.combat.AddRemoveInteraction(true, null, null, component2, null);
|
|
}
|
|
if (!component2)
|
|
{
|
|
ChestActions component3 = gameObject.transform.parent.gameObject.GetComponent<ChestActions>();
|
|
if (component3 && !component3.destroyed && !component3.open)
|
|
{
|
|
Links.x.combat.AddRemoveInteraction(true, null, component3, null, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (gameObject.layer == 21)
|
|
{
|
|
DoorActions component4 = gameObject.GetComponent<DoorActions>();
|
|
if (component4 && !component4.destroyed)
|
|
{
|
|
Links.x.combat.AddRemoveInteraction(true, null, null, null, component4);
|
|
}
|
|
}
|
|
}
|
|
if (this.adventure)
|
|
{
|
|
if (gameObject.layer == 6)
|
|
{
|
|
Character component5 = gameObject.GetComponent<Character>();
|
|
if (component5 && !component5.party && (!component5.summoned || component5.npc) && ((!Records.x.partySailing && component5.isBoro) || !component5.isBoro))
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(true, component5, null, null, null, null, null, null);
|
|
}
|
|
}
|
|
if (gameObject.layer == 19)
|
|
{
|
|
Boat component6 = gameObject.GetComponent<Boat>();
|
|
if (component6)
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(true, null, null, null, null, null, null, component6);
|
|
}
|
|
}
|
|
if (gameObject.layer == 16)
|
|
{
|
|
BreakableActions breakableActions = gameObject.GetComponent<BreakableActions>();
|
|
if (!breakableActions)
|
|
{
|
|
breakableActions = gameObject.transform.parent.gameObject.GetComponent<BreakableActions>();
|
|
}
|
|
if (breakableActions && !breakableActions.destroyed && breakableActions.breakable.armor == 0)
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(true, null, breakableActions, null, null, null, null, null);
|
|
}
|
|
if (!breakableActions)
|
|
{
|
|
PuzzleActions component7 = gameObject.GetComponent<PuzzleActions>();
|
|
if (component7)
|
|
{
|
|
component7.InRange();
|
|
Links.x.hudControl.AddRemoveInteraction(true, null, null, null, component7, null, null, null);
|
|
}
|
|
if (!component7)
|
|
{
|
|
ChestActions component8 = gameObject.transform.parent.gameObject.GetComponent<ChestActions>();
|
|
if (component8)
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(true, null, null, component8, null, null, null, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (gameObject.layer == 21)
|
|
{
|
|
DoorActions component9 = gameObject.GetComponent<DoorActions>();
|
|
if (component9 && !component9.destroyed)
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(true, null, null, null, null, component9, null, null);
|
|
}
|
|
}
|
|
if (gameObject.layer == 13 && gameObject != this.beachCollector.beachIcon)
|
|
{
|
|
MapExitActions mapExit = other.gameObject.GetComponent<MapExitIcon>().mapExit;
|
|
Links.x.gameplay.intersectingExit = mapExit;
|
|
Links.x.gameplay.intersectingExit.Near(true);
|
|
Links.x.hudControl.AddRemoveInteraction(true, null, null, null, null, null, mapExit, null);
|
|
}
|
|
}
|
|
}
|
|
if (gameObject.layer == 14 && Records.x.BoroInParty())
|
|
{
|
|
if (Records.x.partySailing)
|
|
{
|
|
this.hitBeach = gameObject;
|
|
}
|
|
else
|
|
{
|
|
this.hitBeach = gameObject;
|
|
}
|
|
if (this.beach)
|
|
{
|
|
BoxCollider component10 = gameObject.GetComponent<BoxCollider>();
|
|
if (component10)
|
|
{
|
|
this.beachColliderCenter = gameObject.transform.TransformPoint(component10.center);
|
|
}
|
|
else
|
|
{
|
|
SphereCollider component11 = gameObject.GetComponent<SphereCollider>();
|
|
this.beachColliderCenter = gameObject.transform.TransformPoint(component11.center);
|
|
}
|
|
if (Records.x.partySailing)
|
|
{
|
|
this.waterToBeach = null;
|
|
this.beachToWater = gameObject;
|
|
}
|
|
else
|
|
{
|
|
this.waterToBeach = gameObject;
|
|
this.beachToWater = null;
|
|
}
|
|
this.Icon();
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000827 RID: 2087 RVA: 0x000B221C File Offset: 0x000B041C
|
|
private void OnTriggerExit(Collider other)
|
|
{
|
|
GameObject gameObject = other.gameObject;
|
|
if (gameObject)
|
|
{
|
|
if (this.adventure)
|
|
{
|
|
if (gameObject.layer == 6)
|
|
{
|
|
Character component = gameObject.GetComponent<Character>();
|
|
if (component && !component.party)
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(false, component, null, null, null, null, null, null);
|
|
}
|
|
}
|
|
if (gameObject.layer == 16)
|
|
{
|
|
BreakableActions breakableActions = gameObject.GetComponent<BreakableActions>();
|
|
if (!breakableActions)
|
|
{
|
|
breakableActions = gameObject.transform.parent.gameObject.GetComponent<BreakableActions>();
|
|
}
|
|
if (breakableActions)
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(false, null, breakableActions, null, null, null, null, null);
|
|
}
|
|
if (!breakableActions)
|
|
{
|
|
PuzzleActions component2 = gameObject.GetComponent<PuzzleActions>();
|
|
if (component2)
|
|
{
|
|
component2.OutOfRange();
|
|
Links.x.hudControl.AddRemoveInteraction(false, null, null, null, component2, null, null, null);
|
|
}
|
|
if (!component2)
|
|
{
|
|
ChestActions component3 = gameObject.transform.parent.gameObject.GetComponent<ChestActions>();
|
|
if (component3)
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(false, null, null, component3, null, null, null, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (gameObject.layer == 21)
|
|
{
|
|
DoorActions component4 = gameObject.GetComponent<DoorActions>();
|
|
if (component4)
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(false, null, null, null, null, component4, null, null);
|
|
}
|
|
}
|
|
if (gameObject.layer == 13 && gameObject != this.beachCollector.beachIcon)
|
|
{
|
|
MapExitActions mapExit = other.gameObject.GetComponent<MapExitIcon>().mapExit;
|
|
mapExit.Near(false);
|
|
if (Links.x.gameplay.intersectingExit == mapExit)
|
|
{
|
|
Links.x.gameplay.intersectingExit.Near(false);
|
|
Links.x.gameplay.intersectingExit = null;
|
|
}
|
|
Links.x.hudControl.AddRemoveInteraction(false, null, null, null, null, null, mapExit, null);
|
|
}
|
|
if (gameObject.layer == 19)
|
|
{
|
|
Boat component5 = gameObject.GetComponent<Boat>();
|
|
if (component5)
|
|
{
|
|
Links.x.hudControl.AddRemoveInteraction(false, null, null, null, null, null, null, component5);
|
|
}
|
|
}
|
|
}
|
|
if (gameObject.layer == 14 && Links.x.gaia.boro)
|
|
{
|
|
this.hitBeach = null;
|
|
this.nearBeach = null;
|
|
if (this.beach)
|
|
{
|
|
if (Records.x.partySailing)
|
|
{
|
|
this.waterToBeach = null;
|
|
this.beachToWater = null;
|
|
}
|
|
else
|
|
{
|
|
this.waterToBeach = null;
|
|
this.beachToWater = null;
|
|
}
|
|
this.RemoveIcon();
|
|
}
|
|
}
|
|
if (this.combat)
|
|
{
|
|
if (gameObject.layer == 16)
|
|
{
|
|
BreakableActions component6 = gameObject.GetComponent<BreakableActions>();
|
|
if (component6 && !component6.destroyed)
|
|
{
|
|
Links.x.combat.AddRemoveInteraction(false, component6, null, null, null);
|
|
}
|
|
if (!component6)
|
|
{
|
|
PuzzleActions component7 = gameObject.GetComponent<PuzzleActions>();
|
|
if (component7 && component7.canBreak)
|
|
{
|
|
Links.x.combat.AddRemoveInteraction(false, null, null, component7, null);
|
|
}
|
|
if (!component7)
|
|
{
|
|
ChestActions component8 = gameObject.transform.parent.gameObject.GetComponent<ChestActions>();
|
|
if (component8 && !component8.destroyed)
|
|
{
|
|
Links.x.combat.AddRemoveInteraction(false, null, component8, null, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (gameObject.layer == 21)
|
|
{
|
|
DoorActions component9 = gameObject.GetComponent<DoorActions>();
|
|
if (component9 && !component9.destroyed)
|
|
{
|
|
Links.x.combat.AddRemoveInteraction(false, null, null, null, component9);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06000828 RID: 2088 RVA: 0x000B259C File Offset: 0x000B079C
|
|
public void SwitchBeachCollider()
|
|
{
|
|
if (Records.x.partySailing)
|
|
{
|
|
this.waterToBeach = this.beachToWater;
|
|
this.beachToWater = null;
|
|
}
|
|
else
|
|
{
|
|
this.beachToWater = this.waterToBeach;
|
|
this.waterToBeach = null;
|
|
}
|
|
this.SetSprite();
|
|
}
|
|
|
|
// Token: 0x06000829 RID: 2089 RVA: 0x000B25D8 File Offset: 0x000B07D8
|
|
private void Icon()
|
|
{
|
|
if (!this.beachIcon)
|
|
{
|
|
this.beachIcon = Links.x.cellar.GetPooledGameObject(134);
|
|
}
|
|
this.beachIcon.layer = 13;
|
|
this.beachIconSprite = this.beachIcon.GetComponent<SpriteRenderer>();
|
|
this.beachIcon.GetComponent<MapExitIcon>().mapExit = null;
|
|
this.beachIcon.GetComponent<MapExitIcon>().beach = true;
|
|
this.beachIcon.transform.position = this.NormalIconPosition();
|
|
this.beachIcon.transform.parent = base.transform.parent;
|
|
this.beachIcon.transform.parent = null;
|
|
this.beachIcon.SetActive(true);
|
|
this.SetSprite();
|
|
}
|
|
|
|
// Token: 0x0600082A RID: 2090 RVA: 0x000B26A0 File Offset: 0x000B08A0
|
|
public void RemoveIcon()
|
|
{
|
|
this.beachIcon.SetActive(false);
|
|
}
|
|
|
|
// Token: 0x0600082B RID: 2091 RVA: 0x000B26AE File Offset: 0x000B08AE
|
|
public Vector3 NormalIconPosition()
|
|
{
|
|
return this.beachColliderCenter + new Vector3(0f, 2f, 0f);
|
|
}
|
|
|
|
// Token: 0x0600082C RID: 2092 RVA: 0x000B26CF File Offset: 0x000B08CF
|
|
public void SetSprite()
|
|
{
|
|
if (!this.beachIconSprite)
|
|
{
|
|
return;
|
|
}
|
|
if (!Records.x.partySailing)
|
|
{
|
|
this.beachIconSprite.sprite = this.sailSprite;
|
|
return;
|
|
}
|
|
this.beachIconSprite.sprite = this.dockSprite;
|
|
}
|
|
|
|
// Token: 0x04000C74 RID: 3188
|
|
public bool adventure;
|
|
|
|
// Token: 0x04000C75 RID: 3189
|
|
public bool beach;
|
|
|
|
// Token: 0x04000C76 RID: 3190
|
|
public bool combat;
|
|
|
|
// Token: 0x04000C77 RID: 3191
|
|
private StringFast str = new StringFast(32);
|
|
|
|
// Token: 0x04000C78 RID: 3192
|
|
private SphereCollider coll;
|
|
|
|
// Token: 0x04000C79 RID: 3193
|
|
public ItemCollector itemCollector;
|
|
|
|
// Token: 0x04000C7A RID: 3194
|
|
public PartyCollider combatCollector;
|
|
|
|
// Token: 0x04000C7B RID: 3195
|
|
public PartyCollider beachCollector;
|
|
|
|
// Token: 0x04000C7C RID: 3196
|
|
public bool noticeOn;
|
|
|
|
// Token: 0x04000C7D RID: 3197
|
|
public bool mapNoticeOn;
|
|
|
|
// Token: 0x04000C7E RID: 3198
|
|
public bool interactNoticeOn;
|
|
|
|
// Token: 0x04000C7F RID: 3199
|
|
public bool actionNoticeOn;
|
|
|
|
// Token: 0x04000C80 RID: 3200
|
|
public bool menuNoticeOn;
|
|
|
|
// Token: 0x04000C81 RID: 3201
|
|
public GameObject nearBeach;
|
|
|
|
// Token: 0x04000C82 RID: 3202
|
|
public GameObject waterToBeach;
|
|
|
|
// Token: 0x04000C83 RID: 3203
|
|
public GameObject beachToWater;
|
|
|
|
// Token: 0x04000C84 RID: 3204
|
|
public Item closestItem;
|
|
|
|
// Token: 0x04000C85 RID: 3205
|
|
public Character closestCharacter;
|
|
|
|
// Token: 0x04000C86 RID: 3206
|
|
public BreakableActions closestBreakable;
|
|
|
|
// Token: 0x04000C87 RID: 3207
|
|
public ChestActions closestChest;
|
|
|
|
// Token: 0x04000C88 RID: 3208
|
|
public DoorActions closestDoor;
|
|
|
|
// Token: 0x04000C89 RID: 3209
|
|
public MapExitActions closestMapExit;
|
|
|
|
// Token: 0x04000C8A RID: 3210
|
|
public Boat closestBoat;
|
|
|
|
// Token: 0x04000C8B RID: 3211
|
|
public PuzzleActions closestPuzzle;
|
|
|
|
// Token: 0x04000C8C RID: 3212
|
|
public Animator defendAnimator;
|
|
|
|
// Token: 0x04000C8D RID: 3213
|
|
public Animator menusAnimator;
|
|
|
|
// Token: 0x04000C8E RID: 3214
|
|
public RectTransform itemPickupRT;
|
|
|
|
// Token: 0x04000C8F RID: 3215
|
|
public Animator exitsAnimator;
|
|
|
|
// Token: 0x04000C90 RID: 3216
|
|
public TextMeshProUGUI exitsText;
|
|
|
|
// Token: 0x04000C91 RID: 3217
|
|
public Image exitsIcon;
|
|
|
|
// Token: 0x04000C92 RID: 3218
|
|
public Animator interactAnimator;
|
|
|
|
// Token: 0x04000C93 RID: 3219
|
|
public TextMeshProUGUI interactText;
|
|
|
|
// Token: 0x04000C94 RID: 3220
|
|
public Animator actionAnimator;
|
|
|
|
// Token: 0x04000C95 RID: 3221
|
|
public Image interactIcon;
|
|
|
|
// Token: 0x04000C96 RID: 3222
|
|
public Image interactIconAddon;
|
|
|
|
// Token: 0x04000C97 RID: 3223
|
|
public Sprite doorSprite;
|
|
|
|
// Token: 0x04000C98 RID: 3224
|
|
public Sprite mapSprite;
|
|
|
|
// Token: 0x04000C99 RID: 3225
|
|
public Sprite beachSprite;
|
|
|
|
// Token: 0x04000C9A RID: 3226
|
|
public Sprite sailingSprite;
|
|
|
|
// Token: 0x04000C9B RID: 3227
|
|
public Image actionImage;
|
|
|
|
// Token: 0x04000C9C RID: 3228
|
|
public Sprite cancelSprite;
|
|
|
|
// Token: 0x04000C9D RID: 3229
|
|
public Sprite pocketSprite;
|
|
|
|
// Token: 0x04000C9E RID: 3230
|
|
public Sprite attackSprite;
|
|
|
|
// Token: 0x04000C9F RID: 3231
|
|
public Sprite spellSprite;
|
|
|
|
// Token: 0x04000CA0 RID: 3232
|
|
public Sprite emptySprite;
|
|
|
|
// Token: 0x04000CA1 RID: 3233
|
|
public Sprite lockSprite;
|
|
|
|
// Token: 0x04000CA2 RID: 3234
|
|
public Sprite keySprite;
|
|
|
|
// Token: 0x04000CA3 RID: 3235
|
|
public Sprite kickSprite;
|
|
|
|
// Token: 0x04000CA4 RID: 3236
|
|
public Sprite talkSprite;
|
|
|
|
// Token: 0x04000CA5 RID: 3237
|
|
public Sprite quipSprite;
|
|
|
|
// Token: 0x04000CA6 RID: 3238
|
|
public Sprite useSprite;
|
|
|
|
// Token: 0x04000CA7 RID: 3239
|
|
public RectTransform exitsRT;
|
|
|
|
// Token: 0x04000CA8 RID: 3240
|
|
private List<Item> hitItems;
|
|
|
|
// Token: 0x04000CA9 RID: 3241
|
|
private List<Character> nearTalkCharacters;
|
|
|
|
// Token: 0x04000CAA RID: 3242
|
|
private List<BreakableActions> nearBreakables;
|
|
|
|
// Token: 0x04000CAB RID: 3243
|
|
private List<ChestActions> nearChests;
|
|
|
|
// Token: 0x04000CAC RID: 3244
|
|
private List<PuzzleActions> nearPuzzles;
|
|
|
|
// Token: 0x04000CAD RID: 3245
|
|
private List<DoorActions> nearDoors;
|
|
|
|
// Token: 0x04000CAE RID: 3246
|
|
private List<Boat> nearBoats;
|
|
|
|
// Token: 0x04000CAF RID: 3247
|
|
private List<MapExitActions> nearMapExits;
|
|
|
|
// Token: 0x04000CB0 RID: 3248
|
|
private Vector3 main;
|
|
|
|
// Token: 0x04000CB1 RID: 3249
|
|
private Vector3 mainSight;
|
|
|
|
// Token: 0x04000CB2 RID: 3250
|
|
private Vector3 forw;
|
|
|
|
// Token: 0x04000CB3 RID: 3251
|
|
private Item prevItem;
|
|
|
|
// Token: 0x04000CB4 RID: 3252
|
|
private MapExitActions prevExit;
|
|
|
|
// Token: 0x04000CB5 RID: 3253
|
|
private GameObject hitBeach;
|
|
|
|
// Token: 0x04000CB6 RID: 3254
|
|
private GameObject prevBeach;
|
|
|
|
// Token: 0x04000CB7 RID: 3255
|
|
public GameObject controllerWheel3;
|
|
|
|
// Token: 0x04000CB8 RID: 3256
|
|
public TextMeshProUGUI controllerWheelTextIcon;
|
|
|
|
// Token: 0x04000CB9 RID: 3257
|
|
public TextMeshProUGUI controllerWheelTextLabel;
|
|
|
|
// Token: 0x04000CBA RID: 3258
|
|
public GameObject beachIcon;
|
|
|
|
// Token: 0x04000CBB RID: 3259
|
|
private SpriteRenderer beachIconSprite;
|
|
|
|
// Token: 0x04000CBC RID: 3260
|
|
private Vector3 beachColliderCenter;
|
|
|
|
// Token: 0x04000CBD RID: 3261
|
|
public Sprite sailSprite;
|
|
|
|
// Token: 0x04000CBE RID: 3262
|
|
public Sprite dockSprite;
|
|
}
|