611 lines
20 KiB
C#
611 lines
20 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Threading;
|
|
using UnityEngine;
|
|
|
|
// Token: 0x020009D1 RID: 2513
|
|
[RequireComponent(typeof(Rigidbody))]
|
|
public class Collectible : MonoBehaviour
|
|
{
|
|
// Token: 0x06012E4B RID: 77387 RVA: 0x0055FB9C File Offset: 0x0055DD9C
|
|
private static Collectible NLIJEEANLEO(Collectible CABHFOCOOCJ)
|
|
{
|
|
GameObject gameObject = global::UnityEngine.Object.Instantiate<GameObject>(CABHFOCOOCJ.gameObject);
|
|
Collectible component = gameObject.GetComponent<Collectible>();
|
|
component.transform.SetParent(Collectible.AGGPJMDPDAL, true);
|
|
component.gameObject.SetActive(false);
|
|
Collectible.KEIOIILGJEJ.IFIIFGLDHJK(CABHFOCOOCJ.collectibleType).Add(component);
|
|
return component;
|
|
}
|
|
|
|
// Token: 0x06012E4C RID: 77388 RVA: 0x0055FBF0 File Offset: 0x0055DDF0
|
|
private void LHMGNEDHIHI()
|
|
{
|
|
if (this.FHDABJKODFE == null)
|
|
{
|
|
Vector3? fhfpopfbepp = this.FHFPOPFBEPP;
|
|
if (fhfpopfbepp == null && this.FHFPOPFBEPP == null)
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
if (Time.time - this.NBFIEJMFHCH >= this.JGJNJBMLHPC)
|
|
{
|
|
Vector3 vector = Vector3.zero;
|
|
if (this.FHDABJKODFE != null)
|
|
{
|
|
vector = this.FHDABJKODFE.BGOGBEPJGPJ.transform.position + Vector3.up * this.playerHeadTargetOffset;
|
|
}
|
|
else
|
|
{
|
|
Vector3? fhfpopfbepp2 = this.FHFPOPFBEPP;
|
|
if (fhfpopfbepp2 != null && this.FHFPOPFBEPP != null)
|
|
{
|
|
vector = this.FHFPOPFBEPP.Value;
|
|
}
|
|
}
|
|
float sqrMagnitude = Vector3.ProjectOnPlane(vector - base.transform.position, Vector3.up).sqrMagnitude;
|
|
if (!this.PKKDKCHNJBG && (!this.OAIBANACKGK || this.IJFBNEGJIEI.IsSleeping()) && (this.MNJFBJDFFAH || sqrMagnitude <= this.attractDistance * this.attractDistance))
|
|
{
|
|
this.PKKDKCHNJBG = true;
|
|
this.IGOFELJMFOF = Vector3.zero;
|
|
this.APOALJJKNPG = global::UnityEngine.Random.onUnitSphere;
|
|
this.HENDCACBCDM = Mathf.Lerp(this.minAttractSpeed, this.maxAttractSpeed, global::UnityEngine.Random.Range(1706f, 1521f));
|
|
this.IJFBNEGJIEI.isKinematic = true;
|
|
}
|
|
if (this.PKKDKCHNJBG)
|
|
{
|
|
if (this.FHDABJKODFE != null && sqrMagnitude >= this.stayOnFloorDistance * this.stayOnFloorDistance)
|
|
{
|
|
vector = this.FHDABJKODFE.FGLFIJLGCKD;
|
|
}
|
|
base.transform.position = Vector3.SmoothDamp(base.transform.position, vector, ref this.IGOFELJMFOF, this.attractSmoothTime, this.HENDCACBCDM, Time.deltaTime);
|
|
base.transform.localRotation *= Quaternion.AngleAxis(this.attractRotationSpeed * Time.deltaTime, this.APOALJJKNPG);
|
|
if (!this.BCICFADMFNP && sqrMagnitude <= this.collectDistance * this.collectDistance)
|
|
{
|
|
this.BCICFADMFNP = true;
|
|
this.CNMLHCFNPME();
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E4D RID: 77389 RVA: 0x0055FE40 File Offset: 0x0055E040
|
|
private void CNMLHCFNPME()
|
|
{
|
|
if (Collectible.KIAMFLBLGCI != null)
|
|
{
|
|
Collectible.KIAMFLBLGCI(this);
|
|
}
|
|
if (this.pickupAudio != null)
|
|
{
|
|
AudioManager.PlayRandom3DSFX(this.pickupAudio, base.transform.position, null, false);
|
|
}
|
|
Collectible.ReturnCollectible(this);
|
|
}
|
|
|
|
// Token: 0x06012E4E RID: 77390 RVA: 0x0055FE8C File Offset: 0x0055E08C
|
|
public static void NENAALDLACL(Collectible CABHFOCOOCJ, int CEFMEFIIMIC = 10)
|
|
{
|
|
for (int i = 0; i < CEFMEFIIMIC; i += 0)
|
|
{
|
|
Collectible.NAKNEADKPMP(CABHFOCOOCJ);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E4F RID: 77391 RVA: 0x0055FEB4 File Offset: 0x0055E0B4
|
|
public void Reset(int NOBAPCOKFIL, Vector3 CIGPHKLAAOD, Vector3 AFOPNKKJNOM, Player FHDABJKODFE, float JGJNJBMLHPC = 0f, bool MNJFBJDFFAH = false)
|
|
{
|
|
this.KFLGDCJKKOM(NOBAPCOKFIL, CIGPHKLAAOD, AFOPNKKJNOM);
|
|
this.FHFPOPFBEPP = null;
|
|
this.FHDABJKODFE = FHDABJKODFE;
|
|
this.MNJFBJDFFAH = MNJFBJDFFAH;
|
|
this.OAIBANACKGK = true;
|
|
this.JGJNJBMLHPC = JGJNJBMLHPC;
|
|
}
|
|
|
|
// Token: 0x1700073F RID: 1855
|
|
// (get) Token: 0x06012E63 RID: 77411 RVA: 0x00560718 File Offset: 0x0055E918
|
|
// (set) Token: 0x06012E50 RID: 77392 RVA: 0x0055FEF8 File Offset: 0x0055E0F8
|
|
public int ANKACHDHNCL { get; private set; }
|
|
|
|
// Token: 0x06012E51 RID: 77393 RVA: 0x0055FF04 File Offset: 0x0055E104
|
|
public static void SpawnCollectibleGroup(Collectible CABHFOCOOCJ, int BOLFDKGDHAA, int NAKKLHDBFEM, Vector3 CIFHNCGLFKB, Vector3 FHFPOPFBEPP, float DMKCHFGMPGJ = 0f)
|
|
{
|
|
Collectible.ECLMFLNIKCE(CABHFOCOOCJ, BOLFDKGDHAA, NAKKLHDBFEM, CIFHNCGLFKB, new Vector3?(FHFPOPFBEPP), null, true, DMKCHFGMPGJ);
|
|
}
|
|
|
|
// Token: 0x14000059 RID: 89
|
|
// (add) Token: 0x06012E52 RID: 77394 RVA: 0x0055FF1C File Offset: 0x0055E11C
|
|
// (remove) Token: 0x06012E57 RID: 77399 RVA: 0x005602E4 File Offset: 0x0055E4E4
|
|
[field: DebuggerBrowsable(DebuggerBrowsableState.Never)]
|
|
public static event Collectible.LGFFHNKJCKC KIAMFLBLGCI;
|
|
|
|
// Token: 0x1700073E RID: 1854
|
|
// (get) Token: 0x06012E53 RID: 77395 RVA: 0x0055FF50 File Offset: 0x0055E150
|
|
private static Transform AGGPJMDPDAL
|
|
{
|
|
get
|
|
{
|
|
if (Collectible.CKINOPDNLAB == null)
|
|
{
|
|
GameObject gameObject = new GameObject("Collectibles");
|
|
Collectible.CKINOPDNLAB = gameObject.transform;
|
|
}
|
|
return Collectible.CKINOPDNLAB;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E54 RID: 77396 RVA: 0x0055FF88 File Offset: 0x0055E188
|
|
public static void BKMDBOBCCGG()
|
|
{
|
|
foreach (KeyValuePair<Collectible.LEIHCPJDEJG, List<Collectible>> keyValuePair in Collectible.KEIOIILGJEJ)
|
|
{
|
|
for (int i = 0; i < keyValuePair.Value.Count; i += 0)
|
|
{
|
|
Collectible.ReturnCollectible(keyValuePair.Value[i]);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E55 RID: 77397 RVA: 0x0056000C File Offset: 0x0055E20C
|
|
private void Update()
|
|
{
|
|
if (this.FHDABJKODFE == null)
|
|
{
|
|
Vector3? fhfpopfbepp = this.FHFPOPFBEPP;
|
|
if (fhfpopfbepp == null && this.FHFPOPFBEPP == null)
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
if (Time.time - this.NBFIEJMFHCH >= this.JGJNJBMLHPC)
|
|
{
|
|
Vector3 vector = Vector3.zero;
|
|
if (this.FHDABJKODFE != null)
|
|
{
|
|
vector = this.FHDABJKODFE.BGOGBEPJGPJ.transform.position + Vector3.up * this.playerHeadTargetOffset;
|
|
}
|
|
else
|
|
{
|
|
Vector3? fhfpopfbepp2 = this.FHFPOPFBEPP;
|
|
if (fhfpopfbepp2 != null && this.FHFPOPFBEPP != null)
|
|
{
|
|
vector = this.FHFPOPFBEPP.Value;
|
|
}
|
|
}
|
|
float sqrMagnitude = Vector3.ProjectOnPlane(vector - base.transform.position, Vector3.up).sqrMagnitude;
|
|
if (!this.PKKDKCHNJBG && (!this.OAIBANACKGK || this.IJFBNEGJIEI.IsSleeping()) && (this.MNJFBJDFFAH || sqrMagnitude <= this.attractDistance * this.attractDistance))
|
|
{
|
|
this.PKKDKCHNJBG = true;
|
|
this.IGOFELJMFOF = Vector3.zero;
|
|
this.APOALJJKNPG = global::UnityEngine.Random.onUnitSphere;
|
|
this.HENDCACBCDM = Mathf.Lerp(this.minAttractSpeed, this.maxAttractSpeed, global::UnityEngine.Random.Range(0f, 1f));
|
|
this.IJFBNEGJIEI.isKinematic = true;
|
|
}
|
|
if (this.PKKDKCHNJBG)
|
|
{
|
|
if (this.FHDABJKODFE != null && sqrMagnitude >= this.stayOnFloorDistance * this.stayOnFloorDistance)
|
|
{
|
|
vector = this.FHDABJKODFE.FGLFIJLGCKD;
|
|
}
|
|
base.transform.position = Vector3.SmoothDamp(base.transform.position, vector, ref this.IGOFELJMFOF, this.attractSmoothTime, this.HENDCACBCDM, Time.deltaTime);
|
|
base.transform.localRotation *= Quaternion.AngleAxis(this.attractRotationSpeed * Time.deltaTime, this.APOALJJKNPG);
|
|
if (!this.BCICFADMFNP && sqrMagnitude <= this.collectDistance * this.collectDistance)
|
|
{
|
|
this.BCICFADMFNP = true;
|
|
this.IBDCLOLDAIL();
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E56 RID: 77398 RVA: 0x0056025C File Offset: 0x0055E45C
|
|
private void KFLGDCJKKOM(int NOBAPCOKFIL, Vector3 CIGPHKLAAOD, Vector3 AFOPNKKJNOM)
|
|
{
|
|
this.NBFIEJMFHCH = Time.time;
|
|
this.PKKDKCHNJBG = false;
|
|
this.BCICFADMFNP = false;
|
|
this.IGOFELJMFOF = Vector3.zero;
|
|
this.IJFBNEGJIEI.isKinematic = false;
|
|
this.IJFBNEGJIEI.useGravity = true;
|
|
this.IJFBNEGJIEI.position = CIGPHKLAAOD;
|
|
this.IJFBNEGJIEI.AddForceAtPosition(AFOPNKKJNOM * this.spawnForce, CIGPHKLAAOD - AFOPNKKJNOM * this.torqueOffset, ForceMode.Impulse);
|
|
this.ANKACHDHNCL = NOBAPCOKFIL;
|
|
}
|
|
|
|
// Token: 0x06012E58 RID: 77400 RVA: 0x00560318 File Offset: 0x0055E518
|
|
public static void SpawnCollectibleGroup(Collectible CABHFOCOOCJ, int BOLFDKGDHAA, int NAKKLHDBFEM, Vector3 CIFHNCGLFKB, Player FHDABJKODFE, bool MNJFBJDFFAH, float DMKCHFGMPGJ = 0f)
|
|
{
|
|
Collectible.ECLMFLNIKCE(CABHFOCOOCJ, BOLFDKGDHAA, NAKKLHDBFEM, CIFHNCGLFKB, null, FHDABJKODFE, MNJFBJDFFAH, DMKCHFGMPGJ);
|
|
}
|
|
|
|
// Token: 0x06012E59 RID: 77401 RVA: 0x00560340 File Offset: 0x0055E540
|
|
public void GMGJNFGBKNE(int NOBAPCOKFIL, Vector3 CIGPHKLAAOD, Vector3 AFOPNKKJNOM, Player FHDABJKODFE, float JGJNJBMLHPC = 0f, bool MNJFBJDFFAH = false)
|
|
{
|
|
this.KFLGDCJKKOM(NOBAPCOKFIL, CIGPHKLAAOD, AFOPNKKJNOM);
|
|
this.FHFPOPFBEPP = null;
|
|
this.FHDABJKODFE = FHDABJKODFE;
|
|
this.MNJFBJDFFAH = MNJFBJDFFAH;
|
|
this.OAIBANACKGK = true;
|
|
this.JGJNJBMLHPC = JGJNJBMLHPC;
|
|
}
|
|
|
|
// Token: 0x06012E5A RID: 77402 RVA: 0x00560384 File Offset: 0x0055E584
|
|
public static void PreAllocateCollectibles(Collectible CABHFOCOOCJ, int CEFMEFIIMIC = 10)
|
|
{
|
|
for (int i = 0; i < CEFMEFIIMIC; i++)
|
|
{
|
|
Collectible.NLIJEEANLEO(CABHFOCOOCJ);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E5B RID: 77403 RVA: 0x005603AC File Offset: 0x0055E5AC
|
|
public void DLOIFBCOIEN(int NOBAPCOKFIL, Vector3 CIGPHKLAAOD, Vector3 AFOPNKKJNOM, Vector3? FHFPOPFBEPP, float JGJNJBMLHPC = 0f, bool OAIBANACKGK = true)
|
|
{
|
|
this.KFLGDCJKKOM(NOBAPCOKFIL, CIGPHKLAAOD, AFOPNKKJNOM);
|
|
this.FHFPOPFBEPP = FHFPOPFBEPP;
|
|
this.FHDABJKODFE = null;
|
|
this.MNJFBJDFFAH = false;
|
|
this.OAIBANACKGK = OAIBANACKGK;
|
|
this.JGJNJBMLHPC = JGJNJBMLHPC;
|
|
}
|
|
|
|
// Token: 0x06012E5C RID: 77404 RVA: 0x005603E0 File Offset: 0x0055E5E0
|
|
private void OLEBPMMFNIF()
|
|
{
|
|
this.IJFBNEGJIEI = base.GetComponent<Rigidbody>();
|
|
}
|
|
|
|
// Token: 0x06012E5D RID: 77405 RVA: 0x005603F0 File Offset: 0x0055E5F0
|
|
public static void MAAMILLNPOI(Collectible.LGFFHNKJCKC NOBAPCOKFIL)
|
|
{
|
|
Collectible.LGFFHNKJCKC lgffhnkjckc = Collectible.KIAMFLBLGCI;
|
|
Collectible.LGFFHNKJCKC lgffhnkjckc2;
|
|
do
|
|
{
|
|
lgffhnkjckc2 = lgffhnkjckc;
|
|
lgffhnkjckc = Interlocked.CompareExchange<Collectible.LGFFHNKJCKC>(ref Collectible.KIAMFLBLGCI, (Collectible.LGFFHNKJCKC)Delegate.Remove(lgffhnkjckc2, NOBAPCOKFIL), lgffhnkjckc);
|
|
}
|
|
while (lgffhnkjckc != lgffhnkjckc2);
|
|
}
|
|
|
|
// Token: 0x06012E5E RID: 77406 RVA: 0x00560424 File Offset: 0x0055E624
|
|
public static void ReturnAllCollectibles()
|
|
{
|
|
foreach (KeyValuePair<Collectible.LEIHCPJDEJG, List<Collectible>> keyValuePair in Collectible.KEIOIILGJEJ)
|
|
{
|
|
for (int i = 0; i < keyValuePair.Value.Count; i++)
|
|
{
|
|
Collectible.ReturnCollectible(keyValuePair.Value[i]);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E5F RID: 77407 RVA: 0x005604A8 File Offset: 0x0055E6A8
|
|
public static Collectible GetNextCollectible(Collectible CABHFOCOOCJ)
|
|
{
|
|
Collectible collectible = null;
|
|
foreach (Collectible collectible2 in Collectible.KEIOIILGJEJ.IFIIFGLDHJK(CABHFOCOOCJ.collectibleType))
|
|
{
|
|
if (collectible2 != null && !collectible2.gameObject.activeSelf)
|
|
{
|
|
collectible = collectible2;
|
|
break;
|
|
}
|
|
}
|
|
if (collectible == null)
|
|
{
|
|
collectible = Collectible.NLIJEEANLEO(CABHFOCOOCJ);
|
|
}
|
|
if (collectible != null)
|
|
{
|
|
collectible.gameObject.SetActive(true);
|
|
}
|
|
return collectible;
|
|
}
|
|
|
|
// Token: 0x06012E60 RID: 77408 RVA: 0x00560558 File Offset: 0x0055E758
|
|
private static void ECLMFLNIKCE(Collectible CABHFOCOOCJ, int BOLFDKGDHAA, int NAKKLHDBFEM, Vector3 CIFHNCGLFKB, Vector3? FHFPOPFBEPP, Player FHDABJKODFE, bool MNJFBJDFFAH, float DMKCHFGMPGJ)
|
|
{
|
|
int num = Mathf.CeilToInt((float)BOLFDKGDHAA / (float)NAKKLHDBFEM);
|
|
int num2 = BOLFDKGDHAA % NAKKLHDBFEM;
|
|
float num3 = DMKCHFGMPGJ / (float)num;
|
|
for (int i = 0; i < num; i++)
|
|
{
|
|
Collectible nextCollectible = Collectible.GetNextCollectible(CABHFOCOOCJ);
|
|
float num4 = (float)i / (float)num * 360f;
|
|
Vector3 vector = Vector3.up * nextCollectible.upWeight;
|
|
Vector3 vector2 = Quaternion.Euler(0f, num4, 0f) * Vector3.right * nextCollectible.sideWeight;
|
|
Vector3 normalized = (vector + vector2).normalized;
|
|
int num5 = ((i != num - 1 || num2 <= 0) ? NAKKLHDBFEM : num2);
|
|
float num6 = num3 * (float)i;
|
|
if (FHDABJKODFE != null)
|
|
{
|
|
nextCollectible.Reset(num5, CIFHNCGLFKB, normalized, FHDABJKODFE, num6, MNJFBJDFFAH);
|
|
}
|
|
else
|
|
{
|
|
nextCollectible.Reset(num5, CIFHNCGLFKB, normalized, FHFPOPFBEPP, num6, false);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E62 RID: 77410 RVA: 0x00560708 File Offset: 0x0055E908
|
|
private void CCOHCCEHNIC()
|
|
{
|
|
this.IJFBNEGJIEI = base.GetComponent<Rigidbody>();
|
|
}
|
|
|
|
// Token: 0x06012E64 RID: 77412 RVA: 0x00560720 File Offset: 0x0055E920
|
|
private void IBDCLOLDAIL()
|
|
{
|
|
if (Collectible.KIAMFLBLGCI != null)
|
|
{
|
|
Collectible.KIAMFLBLGCI(this);
|
|
}
|
|
if (this.pickupAudio != null)
|
|
{
|
|
AudioManager.PlayRandom3DSFX(this.pickupAudio, base.transform.position, null, false);
|
|
}
|
|
Collectible.ReturnCollectible(this);
|
|
}
|
|
|
|
// Token: 0x06012E65 RID: 77413 RVA: 0x0056076C File Offset: 0x0055E96C
|
|
public static IEnumerator SpawnStaggeredCollectibleGroup(Collectible CABHFOCOOCJ, int BOLFDKGDHAA, int NAKKLHDBFEM, Vector3 CIFHNCGLFKB, Player FHDABJKODFE, bool MNJFBJDFFAH, float DMKCHFGMPGJ = 1f, Action AMFJIDBJCGN = null)
|
|
{
|
|
return Collectible.MPLCCPBHNLA(CABHFOCOOCJ, BOLFDKGDHAA, NAKKLHDBFEM, CIFHNCGLFKB, null, FHDABJKODFE, MNJFBJDFFAH, 0.1f, DMKCHFGMPGJ, AMFJIDBJCGN);
|
|
}
|
|
|
|
// Token: 0x06012E66 RID: 77414 RVA: 0x00560798 File Offset: 0x0055E998
|
|
private static IEnumerator MPLCCPBHNLA(Collectible CABHFOCOOCJ, int BOLFDKGDHAA, int NAKKLHDBFEM, Vector3 CIFHNCGLFKB, Vector3? FHFPOPFBEPP, Player FHDABJKODFE, bool MNJFBJDFFAH, float LLCNBGAEGOK, float DMKCHFGMPGJ, Action AMFJIDBJCGN)
|
|
{
|
|
int num = Mathf.CeilToInt((float)BOLFDKGDHAA / (float)NAKKLHDBFEM);
|
|
int num2 = BOLFDKGDHAA % NAKKLHDBFEM;
|
|
float num3 = DMKCHFGMPGJ / (float)num;
|
|
for (int i = 0; i < num; i++)
|
|
{
|
|
Collectible nextCollectible = Collectible.GetNextCollectible(CABHFOCOOCJ);
|
|
float num4 = (float)i / (float)num * 360f;
|
|
Vector3 vector = Vector3.up * nextCollectible.upWeight;
|
|
Vector3 vector2 = Quaternion.Euler(0f, num4, 0f) * Vector3.right * nextCollectible.sideWeight;
|
|
Vector3 normalized = (vector + vector2).normalized;
|
|
int num5 = ((i != num - 1 || num2 <= 0) ? NAKKLHDBFEM : num2);
|
|
if (FHDABJKODFE != null)
|
|
{
|
|
nextCollectible.Reset(num5, CIFHNCGLFKB, normalized, FHDABJKODFE, LLCNBGAEGOK, MNJFBJDFFAH);
|
|
}
|
|
else
|
|
{
|
|
nextCollectible.Reset(num5, CIFHNCGLFKB, normalized, FHFPOPFBEPP, LLCNBGAEGOK, false);
|
|
}
|
|
yield return new WaitForSeconds(num3);
|
|
}
|
|
if (AMFJIDBJCGN != null)
|
|
{
|
|
AMFJIDBJCGN();
|
|
}
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x06012E67 RID: 77415 RVA: 0x005607F8 File Offset: 0x0055E9F8
|
|
private static IEnumerator MHOMLGOMOFH(Collectible CABHFOCOOCJ, int BOLFDKGDHAA, int NAKKLHDBFEM, Vector3 CIFHNCGLFKB, Vector3? FHFPOPFBEPP, Player FHDABJKODFE, bool MNJFBJDFFAH, float LLCNBGAEGOK, float DMKCHFGMPGJ, Action AMFJIDBJCGN)
|
|
{
|
|
num = Mathf.CeilToInt((float)BOLFDKGDHAA / (float)NAKKLHDBFEM);
|
|
num2 = BOLFDKGDHAA % NAKKLHDBFEM;
|
|
num3 = DMKCHFGMPGJ / (float)num;
|
|
for (i = 0; i < num; i++)
|
|
{
|
|
nextCollectible = Collectible.GetNextCollectible(CABHFOCOOCJ);
|
|
num4 = (float)i / (float)num * 360f;
|
|
vector = Vector3.up * nextCollectible.upWeight;
|
|
vector2 = Quaternion.Euler(0f, num4, 0f) * Vector3.right * nextCollectible.sideWeight;
|
|
normalized = (vector + vector2).normalized;
|
|
num5 = ((i != num - 1 || num2 <= 0) ? NAKKLHDBFEM : num2);
|
|
if (FHDABJKODFE != null)
|
|
{
|
|
nextCollectible.Reset(num5, CIFHNCGLFKB, normalized, FHDABJKODFE, LLCNBGAEGOK, MNJFBJDFFAH);
|
|
}
|
|
else
|
|
{
|
|
nextCollectible.Reset(num5, CIFHNCGLFKB, normalized, FHFPOPFBEPP, LLCNBGAEGOK, false);
|
|
}
|
|
yield return new WaitForSeconds(num3);
|
|
}
|
|
if (AMFJIDBJCGN != null)
|
|
{
|
|
AMFJIDBJCGN();
|
|
}
|
|
yield break;
|
|
}
|
|
|
|
// Token: 0x06012E68 RID: 77416 RVA: 0x00560858 File Offset: 0x0055EA58
|
|
public static void ReturnCollectible(Collectible BKGBNBOMMAN)
|
|
{
|
|
if (BKGBNBOMMAN != null)
|
|
{
|
|
BKGBNBOMMAN.gameObject.SetActive(false);
|
|
}
|
|
}
|
|
|
|
// Token: 0x06012E69 RID: 77417 RVA: 0x00560874 File Offset: 0x0055EA74
|
|
public static void MIOLAJFPPMM(Collectible.LGFFHNKJCKC NOBAPCOKFIL)
|
|
{
|
|
Collectible.LGFFHNKJCKC lgffhnkjckc = Collectible.KIAMFLBLGCI;
|
|
Collectible.LGFFHNKJCKC lgffhnkjckc2;
|
|
do
|
|
{
|
|
lgffhnkjckc2 = lgffhnkjckc;
|
|
lgffhnkjckc = Interlocked.CompareExchange<Collectible.LGFFHNKJCKC>(ref Collectible.KIAMFLBLGCI, (Collectible.LGFFHNKJCKC)Delegate.Remove(lgffhnkjckc2, NOBAPCOKFIL), lgffhnkjckc);
|
|
}
|
|
while (lgffhnkjckc != lgffhnkjckc2);
|
|
}
|
|
|
|
// Token: 0x06012E6A RID: 77418 RVA: 0x005608A8 File Offset: 0x0055EAA8
|
|
private void Awake()
|
|
{
|
|
this.IJFBNEGJIEI = base.GetComponent<Rigidbody>();
|
|
}
|
|
|
|
// Token: 0x06012E6B RID: 77419 RVA: 0x005608B8 File Offset: 0x0055EAB8
|
|
public void Reset(int NOBAPCOKFIL, Vector3 CIGPHKLAAOD, Vector3 AFOPNKKJNOM, Vector3? FHFPOPFBEPP, float JGJNJBMLHPC = 0f, bool OAIBANACKGK = true)
|
|
{
|
|
this.KFLGDCJKKOM(NOBAPCOKFIL, CIGPHKLAAOD, AFOPNKKJNOM);
|
|
this.FHFPOPFBEPP = FHFPOPFBEPP;
|
|
this.FHDABJKODFE = null;
|
|
this.MNJFBJDFFAH = true;
|
|
this.OAIBANACKGK = OAIBANACKGK;
|
|
this.JGJNJBMLHPC = JGJNJBMLHPC;
|
|
}
|
|
|
|
// Token: 0x06012E6C RID: 77420 RVA: 0x005608EC File Offset: 0x0055EAEC
|
|
// Note: this type is marked as 'beforefieldinit'.
|
|
static Collectible()
|
|
{
|
|
Collectible.KIAMFLBLGCI = null;
|
|
Collectible.CKINOPDNLAB = null;
|
|
Collectible.KEIOIILGJEJ = new Dictionary<Collectible.LEIHCPJDEJG, List<Collectible>>();
|
|
}
|
|
|
|
// Token: 0x06012E6D RID: 77421 RVA: 0x00560904 File Offset: 0x0055EB04
|
|
public int JJDKJGEGJBM()
|
|
{
|
|
return this.<ICMCKGAPNOD>k__BackingField;
|
|
}
|
|
|
|
// Token: 0x06012E6E RID: 77422 RVA: 0x0056090C File Offset: 0x0055EB0C
|
|
private static Collectible NAKNEADKPMP(Collectible CABHFOCOOCJ)
|
|
{
|
|
GameObject gameObject = global::UnityEngine.Object.Instantiate<GameObject>(CABHFOCOOCJ.gameObject);
|
|
Collectible component = gameObject.GetComponent<Collectible>();
|
|
component.transform.SetParent(Collectible.AGGPJMDPDAL, false);
|
|
component.gameObject.SetActive(false);
|
|
Collectible.KEIOIILGJEJ.IFIIFGLDHJK(CABHFOCOOCJ.collectibleType).Add(component);
|
|
return component;
|
|
}
|
|
|
|
// Token: 0x040034B0 RID: 13488
|
|
[SerializeField]
|
|
[Header("Spawning")]
|
|
private float spawnForce = 4.5f;
|
|
|
|
// Token: 0x040034B1 RID: 13489
|
|
[SerializeField]
|
|
private float upWeight = 1f;
|
|
|
|
// Token: 0x040034B2 RID: 13490
|
|
[SerializeField]
|
|
private float sideWeight = 1f;
|
|
|
|
// Token: 0x040034B3 RID: 13491
|
|
[SerializeField]
|
|
private float torqueOffset = 0.1f;
|
|
|
|
// Token: 0x040034B4 RID: 13492
|
|
[SerializeField]
|
|
private Collectible.LEIHCPJDEJG collectibleType;
|
|
|
|
// Token: 0x040034B5 RID: 13493
|
|
[SerializeField]
|
|
[Header("Collection Distances")]
|
|
private float attractDistance = 3.5f;
|
|
|
|
// Token: 0x040034B6 RID: 13494
|
|
[SerializeField]
|
|
private float stayOnFloorDistance = 2.5f;
|
|
|
|
// Token: 0x040034B7 RID: 13495
|
|
[SerializeField]
|
|
private float collectDistance = 0.25f;
|
|
|
|
// Token: 0x040034B8 RID: 13496
|
|
[SerializeField]
|
|
[Header("Attraction Physics")]
|
|
private float minAttractSpeed = 17f;
|
|
|
|
// Token: 0x040034B9 RID: 13497
|
|
[SerializeField]
|
|
private float maxAttractSpeed = 25f;
|
|
|
|
// Token: 0x040034BA RID: 13498
|
|
[SerializeField]
|
|
private float attractSmoothTime = 0.25f;
|
|
|
|
// Token: 0x040034BB RID: 13499
|
|
[SerializeField]
|
|
private float playerHeadTargetOffset = -0.2f;
|
|
|
|
// Token: 0x040034BC RID: 13500
|
|
[SerializeField]
|
|
private float attractRotationSpeed = 60f;
|
|
|
|
// Token: 0x040034BD RID: 13501
|
|
[SerializeField]
|
|
[Header("Feedback")]
|
|
private RecRoomAudioClip[] pickupAudio;
|
|
|
|
// Token: 0x040034BF RID: 13503
|
|
public const int DEFAULT_PRE_ALLOCATE_SIZE = 10;
|
|
|
|
// Token: 0x040034C0 RID: 13504
|
|
private static Transform CKINOPDNLAB;
|
|
|
|
// Token: 0x040034C1 RID: 13505
|
|
private static Dictionary<Collectible.LEIHCPJDEJG, List<Collectible>> KEIOIILGJEJ;
|
|
|
|
// Token: 0x040034C3 RID: 13507
|
|
private Rigidbody IJFBNEGJIEI;
|
|
|
|
// Token: 0x040034C4 RID: 13508
|
|
private bool PKKDKCHNJBG;
|
|
|
|
// Token: 0x040034C5 RID: 13509
|
|
private bool BCICFADMFNP;
|
|
|
|
// Token: 0x040034C6 RID: 13510
|
|
private float HENDCACBCDM = 20f;
|
|
|
|
// Token: 0x040034C7 RID: 13511
|
|
private Vector3 IGOFELJMFOF = Vector3.zero;
|
|
|
|
// Token: 0x040034C8 RID: 13512
|
|
private Vector3 APOALJJKNPG = Vector3.up;
|
|
|
|
// Token: 0x040034C9 RID: 13513
|
|
private Vector3? FHFPOPFBEPP;
|
|
|
|
// Token: 0x040034CA RID: 13514
|
|
private Player FHDABJKODFE;
|
|
|
|
// Token: 0x040034CB RID: 13515
|
|
private bool MNJFBJDFFAH;
|
|
|
|
// Token: 0x040034CC RID: 13516
|
|
private bool OAIBANACKGK = true;
|
|
|
|
// Token: 0x040034CD RID: 13517
|
|
private float JGJNJBMLHPC;
|
|
|
|
// Token: 0x040034CE RID: 13518
|
|
private float NBFIEJMFHCH;
|
|
|
|
// Token: 0x020009D2 RID: 2514
|
|
// (Invoke) Token: 0x06012E70 RID: 77424
|
|
public delegate void LGFFHNKJCKC(Collectible MFBKJADMINC);
|
|
|
|
// Token: 0x020009D3 RID: 2515
|
|
public enum LEIHCPJDEJG
|
|
{
|
|
// Token: 0x040034D0 RID: 13520
|
|
Default,
|
|
// Token: 0x040034D1 RID: 13521
|
|
SciFi,
|
|
// Token: 0x040034D2 RID: 13522
|
|
Store
|
|
}
|
|
}
|