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;
}
