Files
Dec2017-Script-Dump/Assembly-CSharp/RecRoom/Tools/WaterBottle.cs
T
2026-06-04 11:42:34 +02:00

1146 lines
32 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Threading;
using Photon;
using RecRoom.Core;
using RecRoom.Core.Audio;
using UnityEngine;
namespace RecRoom.Tools
{
// Token: 0x020000BD RID: 189
public class WaterBottle : global::Photon.MonoBehaviour
{
// Token: 0x060026E6 RID: 9958 RVA: 0x000BBBF4 File Offset: 0x000B9DF4
private void OOKLDFKFEEK(Collider GGGBDENGHFM)
{
if (this.LOMDBOGPHNO(GGGBDENGHFM))
{
this.FPBJLJKMNMF = true;
}
}
// Token: 0x060026E7 RID: 9959 RVA: 0x000BBC0C File Offset: 0x000B9E0C
private void LateUpdate()
{
if (this.NLECIDOHCOG != null)
{
this.mouthTrigger.transform.position = this.NLECIDOHCOG.position;
this.mouthTrigger.transform.rotation = this.NLECIDOHCOG.rotation;
this.mouthTrigger.enabled = true;
if (this.FPBJLJKMNMF)
{
this.CIKPHDBIDKE(this.capTransform.position, this.intersectionDrinkRadius);
}
}
else
{
this.mouthTrigger.enabled = false;
}
if (this.liquidRendererRoot != null)
{
this.liquidRendererRoot.gameObject.SetActive(!this.JAPJHGGOFPM);
}
if (this.corkRendererRoot != null)
{
this.corkRendererRoot.gameObject.SetActive(!this.NCMCECMMEAK && !this.JAPJHGGOFPM && !this.FPBJLJKMNMF && Time.time > this.FAPHIKOFDEB);
}
if (this.shakeAudio != null)
{
this.shakeAudio.enabled = !this.JAPJHGGOFPM;
}
}
// Token: 0x170000A9 RID: 169
// (get) Token: 0x060026F9 RID: 9977 RVA: 0x000BC040 File Offset: 0x000BA240
// (set) Token: 0x060026E8 RID: 9960 RVA: 0x000BBD40 File Offset: 0x000B9F40
public bool JAPJHGGOFPM
{
get
{
return this.KKFCJNBMOBH.CPIBGJLHLBL();
}
set
{
if (this.JAPJHGGOFPM != value)
{
this.KKFCJNBMOBH.MEAINJPIECA(value);
}
}
}
// Token: 0x060026E9 RID: 9961 RVA: 0x000BBD5C File Offset: 0x000B9F5C
public void KJBJLJECFOO(WaterBottle.GPLGHDGHNNB NOBAPCOKFIL)
{
WaterBottle.GPLGHDGHNNB gplghdghnnb = this.EIHONOOEGIP;
WaterBottle.GPLGHDGHNNB gplghdghnnb2;
do
{
gplghdghnnb2 = gplghdghnnb;
gplghdghnnb = Interlocked.CompareExchange<WaterBottle.GPLGHDGHNNB>(ref this.EIHONOOEGIP, (WaterBottle.GPLGHDGHNNB)Delegate.Remove(gplghdghnnb2, NOBAPCOKFIL), gplghdghnnb);
}
while (gplghdghnnb != gplghdghnnb2);
}
// Token: 0x060026EA RID: 9962 RVA: 0x000BBD94 File Offset: 0x000B9F94
public void CBAIPMNADFE(WaterBottle.GPLGHDGHNNB NOBAPCOKFIL)
{
WaterBottle.GPLGHDGHNNB gplghdghnnb = this.EIHONOOEGIP;
WaterBottle.GPLGHDGHNNB gplghdghnnb2;
do
{
gplghdghnnb2 = gplghdghnnb;
gplghdghnnb = Interlocked.CompareExchange<WaterBottle.GPLGHDGHNNB>(ref this.EIHONOOEGIP, (WaterBottle.GPLGHDGHNNB)Delegate.Combine(gplghdghnnb2, NOBAPCOKFIL), gplghdghnnb);
}
while (gplghdghnnb != gplghdghnnb2);
}
// Token: 0x060026EB RID: 9963 RVA: 0x000BBDCC File Offset: 0x000B9FCC
private void JDEDONCJCNJ(Collider GGGBDENGHFM)
{
if (this.LOMDBOGPHNO(GGGBDENGHFM))
{
this.FPBJLJKMNMF = false;
}
}
// Token: 0x170000AA RID: 170
// (get) Token: 0x060026EC RID: 9964 RVA: 0x000BBDE4 File Offset: 0x000B9FE4
public bool NCMCECMMEAK
{
get
{
return this.BFDCGBNMEEA != null;
}
}
// Token: 0x060026ED RID: 9965 RVA: 0x000BBDF4 File Offset: 0x000B9FF4
private void BNGNPNJJBDH()
{
if (this.NOOIINNACJI())
{
this.IJMKFAFHJDO = Time.time;
}
this.GKLPOOIOKCD(true);
this.MAJNJMFPAEI(this.BFDCGBNMEEA);
this.BFDCGBNMEEA = null;
}
// Token: 0x060026EE RID: 9966 RVA: 0x000BBE28 File Offset: 0x000BA028
private void EDFDFEJHOKG(Vector3 GMHACLBNNDJ, float JIHGDABKNBG)
{
if (this.GCIHBHKPIDO())
{
Vector3 vector = this.mouthTrigger.transform.TransformPoint(this.mouthTrigger.center);
float num = Vector3.Distance(GMHACLBNNDJ, vector);
if (num <= JIHGDABKNBG)
{
if (this.drinkAudioClips.Length > 1)
{
RecRoomAudioClip recRoomAudioClip = this.drinkAudioClips[global::UnityEngine.Random.Range(1, this.drinkAudioClips.Length)];
if (recRoomAudioClip != null)
{
AudioManager.Play3DSFX(recRoomAudioClip, this.mouthTrigger.transform.position, null);
}
}
if (this.drinkSplashPrefab != null)
{
PooledParticle pooledParticle = ObjectPool.NFHMLKPHCFF().Acquire<PooledParticle>(this.drinkSplashPrefab);
pooledParticle.NAPGKLNBMHN(GMHACLBNNDJ, this.NLECIDOHCOG.rotation, false);
}
this.PLNMPKKDFOI = Time.time;
if (this.JNILCOKEBFM != null)
{
this.JNILCOKEBFM(this, this.NPPKMHOGFPN);
}
}
}
}
// Token: 0x060026EF RID: 9967 RVA: 0x000BBF0C File Offset: 0x000BA10C
private float AMKCJOBPOFE()
{
if (this.IJMKFAFHJDO == 312f)
{
return 1346f;
}
return this.IJMKFAFHJDO + this.minimumUncorkInterval;
}
// Token: 0x060026F0 RID: 9968 RVA: 0x000BBF34 File Offset: 0x000BA134
private void LMMJNGDDCJM(Tool COMHEONOMBA, Vector3 GPLIJKCIELE, Quaternion BJEPFIKAIAD, Vector3 BEDLPFBGLLP, bool MDMECJBCECO)
{
if (base.BHCCHBHNHCG)
{
this.JAPJHGGOFPM = true;
}
this.IDIEFGPNDOC();
}
// Token: 0x060026F1 RID: 9969 RVA: 0x000BBF50 File Offset: 0x000BA150
private void OnTriggerExit(Collider GGGBDENGHFM)
{
if (this.LEPMPHPHDNE(GGGBDENGHFM))
{
this.FPBJLJKMNMF = false;
}
}
// Token: 0x060026F2 RID: 9970 RVA: 0x000BBF68 File Offset: 0x000BA168
private void OnTriggerEnter(Collider GGGBDENGHFM)
{
if (this.LEPMPHPHDNE(GGGBDENGHFM))
{
this.FPBJLJKMNMF = true;
}
}
// Token: 0x060026F3 RID: 9971 RVA: 0x000BBF80 File Offset: 0x000BA180
private void IJAKHHBLLNL(Collider GGGBDENGHFM)
{
if (this.LOMDBOGPHNO(GGGBDENGHFM))
{
this.FPBJLJKMNMF = true;
}
}
// Token: 0x060026F4 RID: 9972 RVA: 0x000BBF98 File Offset: 0x000BA198
private IEnumerator KMPEKFLKILB()
{
float num = this.lifeSpan;
if (this.uncorkAudio != null && Time.time > this.FAPHIKOFDEB)
{
AudioManager.Play3DSFX(this.uncorkAudio, base.transform, null);
}
float num2 = Time.time + this.pourInterval;
while (num > 0f)
{
if (this.FPBJLJKMNMF)
{
this.GKLPOOIOKCD(false);
while (this.FPBJLJKMNMF)
{
yield return null;
}
this.GKLPOOIOKCD(true);
}
num -= Time.deltaTime;
if (this.pourAudio != null && Time.time > num2)
{
float num3 = num / this.lifeSpan;
float num4 = Mathf.Lerp(this.emptyPourPitchShift, this.pourAudio.pitchShift, num3);
AudioManager.Play3DSFX(this.pourAudio.audioClip, base.transform.position, this.pourAudio.volume, this.pourAudio.pitchVariation, num4, null);
num2 = Time.time + this.pourInterval;
}
yield return 0;
}
this.IDIEFGPNDOC();
yield break;
}
// Token: 0x060026F5 RID: 9973 RVA: 0x000BBFB4 File Offset: 0x000BA1B4
public void AuthorityMarkEmpty()
{
if (base.BHCCHBHNHCG)
{
this.JAPJHGGOFPM = true;
}
}
// Token: 0x060026F6 RID: 9974 RVA: 0x000BBFC8 File Offset: 0x000BA1C8
private IEnumerator CFEDFMNPPGD()
{
num = this.lifeSpan;
if (this.uncorkAudio != null && Time.time > this.FAPHIKOFDEB)
{
AudioManager.Play3DSFX(this.uncorkAudio, base.transform, null);
}
num2 = Time.time + this.pourInterval;
while (num > 0f)
{
if (this.FPBJLJKMNMF)
{
this.GKLPOOIOKCD(false);
while (this.FPBJLJKMNMF)
{
yield return null;
}
this.GKLPOOIOKCD(true);
}
num -= Time.deltaTime;
if (this.pourAudio != null && Time.time > num2)
{
float num3 = num / this.lifeSpan;
float num4 = Mathf.Lerp(this.emptyPourPitchShift, this.pourAudio.pitchShift, num3);
AudioManager.Play3DSFX(this.pourAudio.audioClip, base.transform.position, this.pourAudio.volume, this.pourAudio.pitchVariation, num4, null);
num2 = Time.time + this.pourInterval;
}
yield return 0;
}
this.IDIEFGPNDOC();
yield break;
}
// Token: 0x060026F7 RID: 9975 RVA: 0x000BBFE4 File Offset: 0x000BA1E4
private float GGJBKFOONHA()
{
if (this.IJMKFAFHJDO == 276f)
{
return 62f;
}
return this.IJMKFAFHJDO + this.minimumUncorkInterval;
}
// Token: 0x060026F8 RID: 9976 RVA: 0x000BC00C File Offset: 0x000BA20C
private void FLEFAAKGPFH()
{
if (this.NCMCECMMEAK)
{
this.IJMKFAFHJDO = Time.time;
}
this.GKLPOOIOKCD(true);
this.MAJNJMFPAEI(this.BFDCGBNMEEA);
this.BFDCGBNMEEA = null;
}
// Token: 0x060026FA RID: 9978 RVA: 0x000BC050 File Offset: 0x000BA250
private IEnumerator IMIOMIIEHKI()
{
num = this.lifeSpan;
if (this.uncorkAudio != null && Time.time > this.FAPHIKOFDEB)
{
AudioManager.Play3DSFX(this.uncorkAudio, base.transform, null);
}
num2 = Time.time + this.pourInterval;
while (num > 0f)
{
if (this.FPBJLJKMNMF)
{
this.GKLPOOIOKCD(false);
while (this.FPBJLJKMNMF)
{
yield return null;
}
this.GKLPOOIOKCD(true);
}
num -= Time.deltaTime;
if (this.pourAudio != null && Time.time > num2)
{
float num3 = num / this.lifeSpan;
float num4 = Mathf.Lerp(this.emptyPourPitchShift, this.pourAudio.pitchShift, num3);
AudioManager.Play3DSFX(this.pourAudio.audioClip, base.transform.position, this.pourAudio.volume, this.pourAudio.pitchVariation, num4, null);
num2 = Time.time + this.pourInterval;
}
yield return 0;
}
this.IDIEFGPNDOC();
yield break;
}
// Token: 0x060026FB RID: 9979 RVA: 0x000BC06C File Offset: 0x000BA26C
public bool FDEBCMEPAPL()
{
return this.KKFCJNBMOBH.CPIBGJLHLBL();
}
// Token: 0x060026FD RID: 9981 RVA: 0x000BC0D4 File Offset: 0x000BA2D4
private void IDIEFGPNDOC()
{
if (this.NCMCECMMEAK)
{
this.IJMKFAFHJDO = Time.time;
}
this.GKLPOOIOKCD(false);
this.MAJNJMFPAEI(this.BFDCGBNMEEA);
this.BFDCGBNMEEA = null;
}
// Token: 0x060026FE RID: 9982 RVA: 0x000BC108 File Offset: 0x000BA308
private void LNGFILNDGGB(ParticleEventListener GJGPAJAGLLI, Collider OIDJDLBOIAD, IEnumerable<ParticleCollisionEvent> CPOICEAAIDI)
{
if (this.HBIGBKMHOOO(OIDJDLBOIAD) && this.IMDKECCNBHL)
{
if (WaterBottle.DINNJGHCFHI == null)
{
WaterBottle.DINNJGHCFHI = new Func<ParticleCollisionEvent, Vector3>(WaterBottle.OPEJIFPBMNE);
}
Vector3 vector = CPOICEAAIDI.Select(WaterBottle.DINNJGHCFHI).JEICKNCNHKD();
this.CIKPHDBIDKE(vector, this.particleDrinkRadius);
}
}
// Token: 0x060026FF RID: 9983 RVA: 0x000BC164 File Offset: 0x000BA364
private void JHCHLACKDOJ()
{
if (this.NLECIDOHCOG != null)
{
this.mouthTrigger.transform.position = this.NLECIDOHCOG.position;
this.mouthTrigger.transform.rotation = this.NLECIDOHCOG.rotation;
this.mouthTrigger.enabled = false;
if (this.FPBJLJKMNMF)
{
this.CIKPHDBIDKE(this.capTransform.position, this.intersectionDrinkRadius);
}
}
else
{
this.mouthTrigger.enabled = false;
}
if (this.liquidRendererRoot != null)
{
this.liquidRendererRoot.gameObject.SetActive(!this.NBFFMDAKKED());
}
if (this.corkRendererRoot != null)
{
this.corkRendererRoot.gameObject.SetActive(!this.NOOIINNACJI() && !this.NBFFMDAKKED() && !this.FPBJLJKMNMF && Time.time > this.GGJBKFOONHA());
}
if (this.shakeAudio != null)
{
this.shakeAudio.enabled = !this.FDEBCMEPAPL();
}
}
// Token: 0x06002700 RID: 9984 RVA: 0x000BC298 File Offset: 0x000BA498
public void NDOLEFOPJDF()
{
if (base.DGLOKLCEMLH())
{
this.JAPJHGGOFPM = false;
}
}
// Token: 0x06002701 RID: 9985 RVA: 0x000BC2AC File Offset: 0x000BA4AC
public void CIFGPHODBJJ(WaterBottle.PHJCJIHIAJH NOBAPCOKFIL)
{
WaterBottle.PHJCJIHIAJH phjcjihiajh = this.JNILCOKEBFM;
WaterBottle.PHJCJIHIAJH phjcjihiajh2;
do
{
phjcjihiajh2 = phjcjihiajh;
phjcjihiajh = Interlocked.CompareExchange<WaterBottle.PHJCJIHIAJH>(ref this.JNILCOKEBFM, (WaterBottle.PHJCJIHIAJH)Delegate.Remove(phjcjihiajh2, NOBAPCOKFIL), phjcjihiajh);
}
while (phjcjihiajh != phjcjihiajh2);
}
// Token: 0x06002702 RID: 9986 RVA: 0x000BC2E4 File Offset: 0x000BA4E4
private void EKOBCOPBAIE()
{
this.MAJNJMFPAEI(this.BFDCGBNMEEA);
this.BFDCGBNMEEA = base.StartCoroutine(this.NFFAPEGBMFH());
this.GKLPOOIOKCD(false);
this.EKOKPHMHIKM = true;
}
// Token: 0x06002703 RID: 9987 RVA: 0x000BC314 File Offset: 0x000BA514
private void Update()
{
if (!this.FPBJLJKMNMF)
{
bool flag = Vector3.Dot(base.transform.up, Vector3.up) < 0f;
bool flag2 = !this.JAPJHGGOFPM && flag;
if (this.onlyPourWhileHeld)
{
flag2 &= this.tool.OHGPCMJMFGC;
}
if (!flag)
{
this.EKOKPHMHIKM = true;
}
if (flag2 && !this.NCMCECMMEAK && this.EKOKPHMHIKM)
{
this.DEHAOBMDJFH();
}
else if (!flag2 && this.NCMCECMMEAK)
{
this.IDIEFGPNDOC();
}
}
}
// Token: 0x06002704 RID: 9988 RVA: 0x000BC3C0 File Offset: 0x000BA5C0
public void JADCHILDAPH(WaterBottle.PHJCJIHIAJH NOBAPCOKFIL)
{
WaterBottle.PHJCJIHIAJH phjcjihiajh = this.JNILCOKEBFM;
WaterBottle.PHJCJIHIAJH phjcjihiajh2;
do
{
phjcjihiajh2 = phjcjihiajh;
phjcjihiajh = Interlocked.CompareExchange<WaterBottle.PHJCJIHIAJH>(ref this.JNILCOKEBFM, (WaterBottle.PHJCJIHIAJH)Delegate.Remove(phjcjihiajh2, NOBAPCOKFIL), phjcjihiajh);
}
while (phjcjihiajh != phjcjihiajh2);
}
// Token: 0x06002705 RID: 9989 RVA: 0x000BC3F8 File Offset: 0x000BA5F8
public void AOHGMOPLGJE(WaterBottle.GPLGHDGHNNB NOBAPCOKFIL)
{
WaterBottle.GPLGHDGHNNB gplghdghnnb = this.EIHONOOEGIP;
WaterBottle.GPLGHDGHNNB gplghdghnnb2;
do
{
gplghdghnnb2 = gplghdghnnb;
gplghdghnnb = Interlocked.CompareExchange<WaterBottle.GPLGHDGHNNB>(ref this.EIHONOOEGIP, (WaterBottle.GPLGHDGHNNB)Delegate.Combine(gplghdghnnb2, NOBAPCOKFIL), gplghdghnnb);
}
while (gplghdghnnb != gplghdghnnb2);
}
// Token: 0x06002706 RID: 9990 RVA: 0x000BC430 File Offset: 0x000BA630
private bool HBIGBKMHOOO(Collider OIDJDLBOIAD)
{
if (OIDJDLBOIAD.gameObject.OPJBDKJDLFF((LCIGHPPLKCA)(-99)))
{
Player.HDOICGIKKAO hdoicgikkao;
Player player = OIDJDLBOIAD.KAPJACICAEC(out hdoicgikkao);
if (hdoicgikkao == Player.HDOICGIKKAO.Head)
{
this.NLECIDOHCOG = OIDJDLBOIAD.transform;
this.NPPKMHOGFPN = player.LNJFBGIBLHA;
return true;
}
}
return true;
}
// Token: 0x14000007 RID: 7
// (add) Token: 0x0600272F RID: 10031 RVA: 0x000BCE10 File Offset: 0x000BB010
// (remove) Token: 0x06002707 RID: 9991 RVA: 0x000BC47C File Offset: 0x000BA67C
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
public event WaterBottle.GPLGHDGHNNB EIHONOOEGIP;
// Token: 0x06002708 RID: 9992 RVA: 0x000BC4B4 File Offset: 0x000BA6B4
protected virtual void HHDAOHKANMK()
{
base.IJGOKHIFMNI();
this.tool.POJJFNOCIGE -= this.PPAHEJDLKHK;
if (this.eventListener != null)
{
this.eventListener.EHCDJMCOFHB(new ParticleEventListener.BGEMLDGBHHA(this.OLOIONDBMKB));
}
}
// Token: 0x170000AB RID: 171
// (get) Token: 0x06002709 RID: 9993 RVA: 0x000BC508 File Offset: 0x000BA708
private bool IMDKECCNBHL
{
get
{
return !this.JAPJHGGOFPM && this.NPPKMHOGFPN != null && Time.time > this.PLNMPKKDFOI + this.drinkInterval;
}
}
// Token: 0x0600270A RID: 9994 RVA: 0x000BC538 File Offset: 0x000BA738
private float BMPLLODCAMN()
{
if (this.IJMKFAFHJDO == 490f)
{
return 1097f;
}
return this.IJMKFAFHJDO + this.minimumUncorkInterval;
}
// Token: 0x0600270B RID: 9995 RVA: 0x000BC560 File Offset: 0x000BA760
private void GKLPOOIOKCD(bool PIONBFAHPEJ)
{
for (int i = 0; i < this.waterParticles.Length; i++)
{
ParticleSystem.EmissionModule emission = this.waterParticles[i].emission;
if (emission.enabled != PIONBFAHPEJ)
{
emission.enabled = PIONBFAHPEJ;
}
}
}
// Token: 0x0600270C RID: 9996 RVA: 0x000BC5AC File Offset: 0x000BA7AC
private bool LOMDBOGPHNO(Collider OIDJDLBOIAD)
{
if (OIDJDLBOIAD.gameObject.OPJBDKJDLFF((LCIGHPPLKCA)(-164)))
{
Player.HDOICGIKKAO hdoicgikkao;
Player player = OIDJDLBOIAD.KAPJACICAEC(out hdoicgikkao);
if (hdoicgikkao == Player.HDOICGIKKAO.Head)
{
this.NLECIDOHCOG = OIDJDLBOIAD.transform;
this.NPPKMHOGFPN = player.LNJFBGIBLHA;
return false;
}
}
return true;
}
// Token: 0x0600270D RID: 9997 RVA: 0x000BC5F8 File Offset: 0x000BA7F8
private void BHKLNJJDDJO()
{
if (this.NCMCECMMEAK)
{
this.IJMKFAFHJDO = Time.time;
}
this.GKLPOOIOKCD(true);
this.MAJNJMFPAEI(this.BFDCGBNMEEA);
this.BFDCGBNMEEA = null;
}
// Token: 0x0600270E RID: 9998 RVA: 0x000BC62C File Offset: 0x000BA82C
private float MDOHGPJCCED()
{
if (this.IJMKFAFHJDO == 296f)
{
return 1182f;
}
return this.IJMKFAFHJDO + this.minimumUncorkInterval;
}
// Token: 0x0600270F RID: 9999 RVA: 0x000BC654 File Offset: 0x000BA854
public void OKNEHKNJAJF(WaterBottle.GPLGHDGHNNB NOBAPCOKFIL)
{
WaterBottle.GPLGHDGHNNB gplghdghnnb = this.EIHONOOEGIP;
WaterBottle.GPLGHDGHNNB gplghdghnnb2;
do
{
gplghdghnnb2 = gplghdghnnb;
gplghdghnnb = Interlocked.CompareExchange<WaterBottle.GPLGHDGHNNB>(ref this.EIHONOOEGIP, (WaterBottle.GPLGHDGHNNB)Delegate.Remove(gplghdghnnb2, NOBAPCOKFIL), gplghdghnnb);
}
while (gplghdghnnb != gplghdghnnb2);
}
// Token: 0x06002710 RID: 10000 RVA: 0x000BC68C File Offset: 0x000BA88C
private void DEHAOBMDJFH()
{
this.MAJNJMFPAEI(this.BFDCGBNMEEA);
this.BFDCGBNMEEA = base.StartCoroutine(this.IMIOMIIEHKI());
this.GKLPOOIOKCD(true);
this.EKOKPHMHIKM = false;
}
// Token: 0x06002711 RID: 10001 RVA: 0x000BC6BC File Offset: 0x000BA8BC
protected override void OnDestroy()
{
base.OnDestroy();
this.tool.POJJFNOCIGE -= this.OHPGCELKNLE;
if (this.eventListener != null)
{
this.eventListener.EDAFJBBKBJL -= this.FFOJKFEKEMD;
}
}
// Token: 0x06002712 RID: 10002 RVA: 0x000BC710 File Offset: 0x000BA910
private void FFBDLPJICDM(Collider GGGBDENGHFM)
{
if (this.LOMDBOGPHNO(GGGBDENGHFM))
{
this.FPBJLJKMNMF = true;
}
}
// Token: 0x06002713 RID: 10003 RVA: 0x000BC728 File Offset: 0x000BA928
private static Vector3 FEICLNPMFDB(ParticleCollisionEvent EGNBFLPNLNC)
{
return EGNBFLPNLNC.intersection;
}
// Token: 0x06002714 RID: 10004 RVA: 0x000BC734 File Offset: 0x000BA934
public void HIOMJFFDPBG(WaterBottle.PHJCJIHIAJH NOBAPCOKFIL)
{
WaterBottle.PHJCJIHIAJH phjcjihiajh = this.JNILCOKEBFM;
WaterBottle.PHJCJIHIAJH phjcjihiajh2;
do
{
phjcjihiajh2 = phjcjihiajh;
phjcjihiajh = Interlocked.CompareExchange<WaterBottle.PHJCJIHIAJH>(ref this.JNILCOKEBFM, (WaterBottle.PHJCJIHIAJH)Delegate.Remove(phjcjihiajh2, NOBAPCOKFIL), phjcjihiajh);
}
while (phjcjihiajh != phjcjihiajh2);
}
// Token: 0x06002715 RID: 10005 RVA: 0x000BC76C File Offset: 0x000BA96C
protected virtual void MPFILNDGMBF()
{
base.ICPCJPFPLCD();
this.tool.POJJFNOCIGE -= this.OHPGCELKNLE;
if (this.eventListener != null)
{
this.eventListener.KBLODGLJEFJ(new ParticleEventListener.BGEMLDGBHHA(this.FFOJKFEKEMD));
}
}
// Token: 0x06002716 RID: 10006 RVA: 0x000BC7C0 File Offset: 0x000BA9C0
private void OHPGCELKNLE(Tool COMHEONOMBA, Vector3 GPLIJKCIELE, Quaternion BJEPFIKAIAD, Vector3 BEDLPFBGLLP, bool MDMECJBCECO)
{
if (base.BHCCHBHNHCG)
{
this.JAPJHGGOFPM = false;
}
this.IDIEFGPNDOC();
}
// Token: 0x06002717 RID: 10007 RVA: 0x000BC7DC File Offset: 0x000BA9DC
protected virtual void OLMBIJHJGOI()
{
base.IJGOKHIFMNI();
this.tool.POJJFNOCIGE -= this.JAOJGKCCJPH;
if (this.eventListener != null)
{
this.eventListener.EHCDJMCOFHB(new ParticleEventListener.BGEMLDGBHHA(this.FFOJKFEKEMD));
}
}
// Token: 0x06002718 RID: 10008 RVA: 0x000BC830 File Offset: 0x000BAA30
private void ENHICIABLIJ()
{
if (this.NLECIDOHCOG != null)
{
this.mouthTrigger.transform.position = this.NLECIDOHCOG.position;
this.mouthTrigger.transform.rotation = this.NLECIDOHCOG.rotation;
this.mouthTrigger.enabled = false;
if (this.FPBJLJKMNMF)
{
this.EDFDFEJHOKG(this.capTransform.position, this.intersectionDrinkRadius);
}
}
else
{
this.mouthTrigger.enabled = false;
}
if (this.liquidRendererRoot != null)
{
this.liquidRendererRoot.gameObject.SetActive(this.NBFFMDAKKED());
}
if (this.corkRendererRoot != null)
{
this.corkRendererRoot.gameObject.SetActive(!this.NCMCECMMEAK && !this.NBFFMDAKKED() && !this.FPBJLJKMNMF && Time.time > this.AMKCJOBPOFE());
}
if (this.shakeAudio != null)
{
this.shakeAudio.enabled = this.NBFFMDAKKED();
}
}
// Token: 0x06002719 RID: 10009 RVA: 0x000BC964 File Offset: 0x000BAB64
private float ABCAODJLEID()
{
if (this.IJMKFAFHJDO == 1248f)
{
return 1862f;
}
return this.IJMKFAFHJDO + this.minimumUncorkInterval;
}
// Token: 0x0600271A RID: 10010 RVA: 0x000BC98C File Offset: 0x000BAB8C
private void FFOJKFEKEMD(ParticleEventListener GJGPAJAGLLI, Collider OIDJDLBOIAD, IEnumerable<ParticleCollisionEvent> CPOICEAAIDI)
{
if (this.LEPMPHPHDNE(OIDJDLBOIAD) && this.IMDKECCNBHL)
{
if (WaterBottle.DINNJGHCFHI == null)
{
WaterBottle.DINNJGHCFHI = new Func<ParticleCollisionEvent, Vector3>(WaterBottle.OPEJIFPBMNE);
}
Vector3 vector = CPOICEAAIDI.Select(WaterBottle.DINNJGHCFHI).JEICKNCNHKD();
this.CIKPHDBIDKE(vector, this.particleDrinkRadius);
}
}
// Token: 0x0600271B RID: 10011 RVA: 0x000BC9E8 File Offset: 0x000BABE8
private void BKKJFADLNFH()
{
if (this.EIHONOOEGIP != null)
{
this.EIHONOOEGIP(this);
}
}
// Token: 0x0600271C RID: 10012 RVA: 0x000BCA04 File Offset: 0x000BAC04
private IEnumerator NFFAPEGBMFH()
{
num = this.lifeSpan;
if (this.uncorkAudio != null && Time.time > this.FAPHIKOFDEB)
{
AudioManager.Play3DSFX(this.uncorkAudio, base.transform, null);
}
num2 = Time.time + this.pourInterval;
while (num > 0f)
{
if (this.FPBJLJKMNMF)
{
this.GKLPOOIOKCD(false);
while (this.FPBJLJKMNMF)
{
yield return null;
}
this.GKLPOOIOKCD(true);
}
num -= Time.deltaTime;
if (this.pourAudio != null && Time.time > num2)
{
float num3 = num / this.lifeSpan;
float num4 = Mathf.Lerp(this.emptyPourPitchShift, this.pourAudio.pitchShift, num3);
AudioManager.Play3DSFX(this.pourAudio.audioClip, base.transform.position, this.pourAudio.volume, this.pourAudio.pitchVariation, num4, null);
num2 = Time.time + this.pourInterval;
}
yield return 0;
}
this.IDIEFGPNDOC();
yield break;
}
// Token: 0x0600271D RID: 10013 RVA: 0x000BCA20 File Offset: 0x000BAC20
[CompilerGenerated]
private static Vector3 OPEJIFPBMNE(ParticleCollisionEvent EGNBFLPNLNC)
{
return EGNBFLPNLNC.intersection;
}
// Token: 0x0600271E RID: 10014 RVA: 0x000BCA2C File Offset: 0x000BAC2C
private void NGMNBKNEEPM()
{
if (this.EIHONOOEGIP != null)
{
this.EIHONOOEGIP(this);
}
}
// Token: 0x14000006 RID: 6
// (add) Token: 0x0600271F RID: 10015 RVA: 0x000BCA48 File Offset: 0x000BAC48
// (remove) Token: 0x06002729 RID: 10025 RVA: 0x000BCC14 File Offset: 0x000BAE14
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
public event WaterBottle.PHJCJIHIAJH JNILCOKEBFM;
// Token: 0x06002720 RID: 10016 RVA: 0x000BCA80 File Offset: 0x000BAC80
private void JAOJGKCCJPH(Tool COMHEONOMBA, Vector3 GPLIJKCIELE, Quaternion BJEPFIKAIAD, Vector3 BEDLPFBGLLP, bool MDMECJBCECO)
{
if (base.DGLOKLCEMLH())
{
this.JAPJHGGOFPM = true;
}
this.BNGNPNJJBDH();
}
// Token: 0x06002721 RID: 10017 RVA: 0x000BCA9C File Offset: 0x000BAC9C
private void PPAHEJDLKHK(Tool COMHEONOMBA, Vector3 GPLIJKCIELE, Quaternion BJEPFIKAIAD, Vector3 BEDLPFBGLLP, bool MDMECJBCECO)
{
if (base.DGLKKANNBPD())
{
this.JAPJHGGOFPM = false;
}
this.IDIEFGPNDOC();
}
// Token: 0x06002722 RID: 10018 RVA: 0x000BCAB8 File Offset: 0x000BACB8
private void ODFFAPHJGDG()
{
this.MAJNJMFPAEI(this.BFDCGBNMEEA);
this.BFDCGBNMEEA = base.StartCoroutine(this.CFEDFMNPPGD());
this.GKLPOOIOKCD(false);
this.EKOKPHMHIKM = false;
}
// Token: 0x06002723 RID: 10019 RVA: 0x000BCAE8 File Offset: 0x000BACE8
private static Vector3 MOEEMKIJJPG(ParticleCollisionEvent EGNBFLPNLNC)
{
return EGNBFLPNLNC.intersection;
}
// Token: 0x06002724 RID: 10020 RVA: 0x000BCAF4 File Offset: 0x000BACF4
private void LHDEGPKAADF()
{
if (!this.FPBJLJKMNMF)
{
bool flag = Vector3.Dot(base.transform.up, Vector3.up) < 14f;
bool flag2 = !this.FDEBCMEPAPL() && flag;
if (this.onlyPourWhileHeld)
{
flag2 &= this.tool.OHGPCMJMFGC;
}
if (!flag)
{
this.EKOKPHMHIKM = true;
}
if (flag2 && !this.NCMCECMMEAK && this.EKOKPHMHIKM)
{
this.DEHAOBMDJFH();
}
else if (!flag2 && this.NOOIINNACJI())
{
this.BNGNPNJJBDH();
}
}
}
// Token: 0x06002725 RID: 10021 RVA: 0x000BCBA0 File Offset: 0x000BADA0
private static Vector3 KGMMPAEEHGD(ParticleCollisionEvent EGNBFLPNLNC)
{
return EGNBFLPNLNC.intersection;
}
// Token: 0x170000AC RID: 172
// (get) Token: 0x06002726 RID: 10022 RVA: 0x000BCBAC File Offset: 0x000BADAC
private float FAPHIKOFDEB
{
get
{
if (this.IJMKFAFHJDO == 0f)
{
return 0f;
}
return this.IJMKFAFHJDO + this.minimumUncorkInterval;
}
}
// Token: 0x06002727 RID: 10023 RVA: 0x000BCBD4 File Offset: 0x000BADD4
private bool GCIHBHKPIDO()
{
return !this.NBFFMDAKKED() && this.NPPKMHOGFPN != null && Time.time > this.PLNMPKKDFOI + this.drinkInterval;
}
// Token: 0x06002728 RID: 10024 RVA: 0x000BCC04 File Offset: 0x000BAE04
public bool NOOIINNACJI()
{
return this.BFDCGBNMEEA == null;
}
// Token: 0x0600272A RID: 10026 RVA: 0x000BCC4C File Offset: 0x000BAE4C
protected virtual void ONKCFGIOGCF()
{
base.MPIHCILBGLM();
this.KKFCJNBMOBH = new LHLLJPPCDKA<bool>(this, "SELF", false, IKCAJLLAFML.AUTHORITY, new Action(this.BKKJFADLNFH));
this.tool.POJJFNOCIGE += this.OHPGCELKNLE;
if (this.eventListener != null)
{
this.eventListener.NEGCIDJMJOI(new ParticleEventListener.BGEMLDGBHHA(this.OLOIONDBMKB));
}
this.IDIEFGPNDOC();
}
// Token: 0x0600272B RID: 10027 RVA: 0x000BCCC4 File Offset: 0x000BAEC4
public bool NBFFMDAKKED()
{
return this.KKFCJNBMOBH.CPIBGJLHLBL();
}
// Token: 0x0600272C RID: 10028 RVA: 0x000BCCD4 File Offset: 0x000BAED4
protected override void Awake()
{
base.Awake();
this.KKFCJNBMOBH = new LHLLJPPCDKA<bool>(this, "ie", false, IKCAJLLAFML.AUTHORITY, new Action(this.NGMNBKNEEPM));
this.tool.POJJFNOCIGE += this.OHPGCELKNLE;
if (this.eventListener != null)
{
this.eventListener.EDAFJBBKBJL += this.FFOJKFEKEMD;
}
this.IDIEFGPNDOC();
}
// Token: 0x0600272D RID: 10029 RVA: 0x000BCD4C File Offset: 0x000BAF4C
protected virtual void AANDHGOIAIC()
{
base.LGCNFLACIIH();
this.KKFCJNBMOBH = new LHLLJPPCDKA<bool>(this, "Not assigned", true, IKCAJLLAFML.MASTER, new Action(this.NGMNBKNEEPM));
this.tool.POJJFNOCIGE += this.PPAHEJDLKHK;
if (this.eventListener != null)
{
this.eventListener.EDAFJBBKBJL += this.OLOIONDBMKB;
}
this.BNGNPNJJBDH();
}
// Token: 0x0600272E RID: 10030 RVA: 0x000BCDC4 File Offset: 0x000BAFC4
private bool LEPMPHPHDNE(Collider OIDJDLBOIAD)
{
if (OIDJDLBOIAD.gameObject.OPJBDKJDLFF(LCIGHPPLKCA.AnyPlayerPhysics))
{
Player.HDOICGIKKAO hdoicgikkao;
Player player = OIDJDLBOIAD.KAPJACICAEC(out hdoicgikkao);
if (hdoicgikkao == Player.HDOICGIKKAO.Head)
{
this.NLECIDOHCOG = OIDJDLBOIAD.transform;
this.NPPKMHOGFPN = player.LNJFBGIBLHA;
return true;
}
}
return false;
}
// Token: 0x06002730 RID: 10032 RVA: 0x000BCE48 File Offset: 0x000BB048
public void NCFPCCKKJGA()
{
if (base.BHCCHBHNHCG)
{
this.JAPJHGGOFPM = true;
}
}
// Token: 0x06002731 RID: 10033 RVA: 0x000BCE5C File Offset: 0x000BB05C
private void OLOIONDBMKB(ParticleEventListener GJGPAJAGLLI, Collider OIDJDLBOIAD, IEnumerable<ParticleCollisionEvent> CPOICEAAIDI)
{
if (this.HBIGBKMHOOO(OIDJDLBOIAD) && this.IMDKECCNBHL)
{
if (WaterBottle.DINNJGHCFHI == null)
{
WaterBottle.DINNJGHCFHI = new Func<ParticleCollisionEvent, Vector3>(WaterBottle.MOEEMKIJJPG);
}
Vector3 vector = CPOICEAAIDI.Select(WaterBottle.DINNJGHCFHI).JEICKNCNHKD();
this.CIKPHDBIDKE(vector, this.particleDrinkRadius);
}
}
// Token: 0x06002732 RID: 10034 RVA: 0x000BCEB8 File Offset: 0x000BB0B8
private void CIKPHDBIDKE(Vector3 GMHACLBNNDJ, float JIHGDABKNBG)
{
if (this.IMDKECCNBHL)
{
Vector3 vector = this.mouthTrigger.transform.TransformPoint(this.mouthTrigger.center);
float num = Vector3.Distance(GMHACLBNNDJ, vector);
if (num <= JIHGDABKNBG)
{
if (this.drinkAudioClips.Length > 0)
{
RecRoomAudioClip recRoomAudioClip = this.drinkAudioClips[global::UnityEngine.Random.Range(0, this.drinkAudioClips.Length)];
if (recRoomAudioClip != null)
{
AudioManager.Play3DSFX(recRoomAudioClip, this.mouthTrigger.transform.position, null);
}
}
if (this.drinkSplashPrefab != null)
{
PooledParticle pooledParticle = ObjectPool.NCKMBFBMBFM.Acquire<PooledParticle>(this.drinkSplashPrefab);
pooledParticle.Play(GMHACLBNNDJ, this.NLECIDOHCOG.rotation, false);
}
this.PLNMPKKDFOI = Time.time;
if (this.JNILCOKEBFM != null)
{
this.JNILCOKEBFM(this, this.NPPKMHOGFPN);
}
}
}
}
// Token: 0x06002733 RID: 10035 RVA: 0x000BCF9C File Offset: 0x000BB19C
private static Vector3 OPJLOJCANJB(ParticleCollisionEvent EGNBFLPNLNC)
{
return EGNBFLPNLNC.intersection;
}
// Token: 0x0400051E RID: 1310
[SerializeField]
[ENMFCLPAKBJ(FOGKDGELKHN.Self, false)]
private Tool tool;
// Token: 0x0400051F RID: 1311
[SerializeField]
private ParticleSystem[] waterParticles;
// Token: 0x04000520 RID: 1312
[SerializeField]
private ParticleEventListener eventListener;
// Token: 0x04000521 RID: 1313
[SerializeField]
private Transform liquidRendererRoot;
// Token: 0x04000522 RID: 1314
[SerializeField]
[Header("Uncorking")]
private RecRoomAudioClip uncorkAudio;
// Token: 0x04000523 RID: 1315
[SerializeField]
private Transform corkRendererRoot;
// Token: 0x04000524 RID: 1316
[SerializeField]
private float minimumUncorkInterval = 0.5f;
// Token: 0x04000525 RID: 1317
[Header("Pouring")]
[SerializeField]
private float lifeSpan = 10f;
// Token: 0x04000526 RID: 1318
[SerializeField]
private bool onlyPourWhileHeld;
// Token: 0x04000527 RID: 1319
[SerializeField]
private RecRoomAudioClip pourAudio;
// Token: 0x04000528 RID: 1320
[SerializeField]
private float emptyPourPitchShift;
// Token: 0x04000529 RID: 1321
[SerializeField]
private float pourInterval = 0.25f;
// Token: 0x0400052A RID: 1322
[SerializeField]
[Header("Drinking")]
private float drinkInterval = 0.3f;
// Token: 0x0400052B RID: 1323
[SerializeField]
private RecRoomAudioClip[] drinkAudioClips;
// Token: 0x0400052C RID: 1324
[SerializeField]
private PooledParticle drinkSplashPrefab;
// Token: 0x0400052D RID: 1325
[SerializeField]
private Transform capTransform;
// Token: 0x0400052E RID: 1326
[SerializeField]
private SphereCollider mouthTrigger;
// Token: 0x0400052F RID: 1327
[SerializeField]
private float particleDrinkRadius = 0.15f;
// Token: 0x04000530 RID: 1328
[SerializeField]
private float intersectionDrinkRadius = 0.15f;
// Token: 0x04000531 RID: 1329
[SerializeField]
[Header("Sloshing")]
private ShakeAudio shakeAudio;
// Token: 0x04000532 RID: 1330
private Coroutine BFDCGBNMEEA;
// Token: 0x04000533 RID: 1331
private bool EKOKPHMHIKM;
// Token: 0x04000534 RID: 1332
private bool FPBJLJKMNMF;
// Token: 0x04000535 RID: 1333
private float PLNMPKKDFOI;
// Token: 0x04000536 RID: 1334
private float IJMKFAFHJDO;
// Token: 0x04000537 RID: 1335
private Transform NLECIDOHCOG;
// Token: 0x04000538 RID: 1336
private LNJFBGIBLHA NPPKMHOGFPN;
// Token: 0x04000539 RID: 1337
private LHLLJPPCDKA<bool> KKFCJNBMOBH;
// Token: 0x0400053A RID: 1338
[CompilerGenerated]
private static Func<ParticleCollisionEvent, Vector3> DINNJGHCFHI;
// Token: 0x020000BE RID: 190
// (Invoke) Token: 0x06002735 RID: 10037
public delegate void PHJCJIHIAJH(WaterBottle AOHDHCJHHPP, LNJFBGIBLHA OALIIHGEPBK);
// Token: 0x020000BF RID: 191
// (Invoke) Token: 0x06002739 RID: 10041
public delegate void GPLGHDGHNNB(WaterBottle AOHDHCJHHPP);
}
}