This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
+1371
View File
@@ -0,0 +1,1371 @@
using System;
using Photon;
using UnityEngine;
using UnityEngine.AI;
namespace RecRoom.Core.AI
{
// Token: 0x02000BC2 RID: 3010
public class Steering : global::Photon.MonoBehaviour
{
// Token: 0x06016E62 RID: 93794 RVA: 0x00663558 File Offset: 0x00661758
public void HKLEPIMIEFF(bool NOBAPCOKFIL)
{
this.EJLDMDFJOBN = NOBAPCOKFIL;
}
// Token: 0x06016E63 RID: 93795 RVA: 0x00663564 File Offset: 0x00661764
private bool LIFHHHLHHKH(Vector3 CJDGNGLMGDI)
{
float num = Vector3.Angle(Vector3.up, CJDGNGLMGDI);
return num < 652f || num <= 113f;
}
// Token: 0x170009F9 RID: 2553
// (get) Token: 0x06016E64 RID: 93796 RVA: 0x00663598 File Offset: 0x00661798
public Vector3 FIMLECLDGLC
{
get
{
return this.IGOFELJMFOF;
}
}
// Token: 0x170009FB RID: 2555
// (get) Token: 0x06016E65 RID: 93797 RVA: 0x006635A0 File Offset: 0x006617A0
// (set) Token: 0x06016E80 RID: 93824 RVA: 0x00663ECC File Offset: 0x006620CC
public bool PMNDOHGFGOA { get; set; }
// Token: 0x06016E66 RID: 93798 RVA: 0x006635A8 File Offset: 0x006617A8
public void Seek(Vector3 MMEBLCBANIL, float KDKANGMCIGD)
{
this.Seek(MMEBLCBANIL, KDKANGMCIGD, 0.01f);
}
// Token: 0x170009F7 RID: 2551
// (get) Token: 0x06016E67 RID: 93799 RVA: 0x006635B8 File Offset: 0x006617B8
// (set) Token: 0x06016E9A RID: 93850 RVA: 0x00664550 File Offset: 0x00662750
public float GKJLNANPDNC { get; set; }
// Token: 0x06016E68 RID: 93800 RVA: 0x006635C0 File Offset: 0x006617C0
protected override void Awake()
{
base.Awake();
this.NELNPFNGGBF = this.collisionDetectionBoxCollider != null;
this.GGPILMKBGGN = base.GetComponent<RigidbodyEx>();
NetworkTransform component = base.GetComponent<NetworkTransform>();
if (component != null)
{
component.AlwaysUseAveragedVelocity = true;
}
this.PMNDOHGFGOA = true;
this.GKJLNANPDNC = this.maxSteeringForce;
this.FMFCBADCFCK = this.maxLinearSpeed;
this.HAMIGCDKOKE = this.maxAngularSpeedDegrees;
this.PDKMFLFOCOL = new NavMeshPath();
this.CEMNIPGPENG = new Vector3[16];
this.DDIBPCAIKHB = 0;
this.KOFMMKOKPDC = 0;
this.KKONALOJAJM();
}
// Token: 0x06016E69 RID: 93801 RVA: 0x00663664 File Offset: 0x00661864
public void Resume()
{
this.BHOIHAONICD = false;
}
// Token: 0x06016E6A RID: 93802 RVA: 0x00663670 File Offset: 0x00661870
private Vector3 LMEJNBECPIH()
{
Vector3 vector = this.OCMADKFKGOH - this.GGPILMKBGGN.CIGPHKLAAOD;
float magnitude = vector.magnitude;
if (magnitude < this.FICJGOFLDOP)
{
this.FHLEFPDIIJL = true;
return Vector3.zero;
}
this.FHLEFPDIIJL = false;
float num = this.FMFCBADCFCK;
if (magnitude < this.NCAJOPJPIDI && this.NCAJOPJPIDI >= Mathf.Epsilon)
{
num = this.FMFCBADCFCK * magnitude / this.NCAJOPJPIDI;
}
Vector3 normalized = vector.normalized;
Vector3 vector2 = normalized * num;
Vector3 vector3 = vector2 - this.IGOFELJMFOF;
Vector3 normalized2 = this.IGOFELJMFOF.normalized;
float num2 = 1777f - Mathf.Clamp01(Vector3.Dot(normalized, normalized2));
Vector3 vector4 = -this.IGOFELJMFOF * num2 * this.braking;
return (vector3 + vector4) / 1549f;
}
// Token: 0x06016E6B RID: 93803 RVA: 0x00663764 File Offset: 0x00661964
private void KKONALOJAJM()
{
RaycastHit raycastHit;
if (!this.HFPEIIIDDFI(this.GGPILMKBGGN.CIGPHKLAAOD + Vector3.up * 0.01f, -Vector3.up, 3.4028235E+38f, true, out raycastHit))
{
this.ECODDCJIOFA = false;
this.EFBJHLLLPJC = this.GGPILMKBGGN.CIGPHKLAAOD;
this.EPIJGDAJDJN = Vector3.up;
}
else
{
raycastHit.distance -= 0.01f;
this.ECODDCJIOFA = raycastHit.distance <= this.surfaceTestDistance;
this.EFBJHLLLPJC = raycastHit.point;
this.EPIJGDAJDJN = raycastHit.normal;
}
}
// Token: 0x06016E6C RID: 93804 RVA: 0x0066381C File Offset: 0x00661A1C
private void JAPKEFMJKFC()
{
if (Time.time - this.KDKMNPMILAI < 0.2f)
{
return;
}
this.KDKMNPMILAI = Time.time;
if (!this.GOFJCLHDHIN() || !this.NELNPFNGGBF || !base.BHCCHBHNHCG)
{
this.LAGMDCABPPJ = false;
return;
}
Vector3 vector = Vector3.ProjectOnPlane(this.IGOFELJMFOF, Vector3.up);
this.LAGMDCABPPJ = vector.sqrMagnitude >= 1E-05f && this.COCBBIJPPBN(this.collisionDetectionBoxCollider, vector.normalized, out this.IGFAFDKIHBI);
}
// Token: 0x06016E6D RID: 93805 RVA: 0x006638B8 File Offset: 0x00661AB8
private void NFLAGEGFALF(bool NOBAPCOKFIL)
{
this.<INBCCAELCKG>k__BackingField = NOBAPCOKFIL;
}
// Token: 0x06016E6E RID: 93806 RVA: 0x006638C4 File Offset: 0x00661AC4
private void LDGGMPOJLIP()
{
if (this.OGCGDMDPHBM)
{
RaycastHit raycastHit;
if (this.HFPEIIIDDFI(this.EFBJHLLLPJC, Vector3.up, 1481f, true, out raycastHit))
{
this.KKGBBHIAALB = raycastHit.distance;
}
else
{
this.KKGBBHIAALB = 406f;
}
float num = this.KKGBBHIAALB - this.minAllowableDistanceToCeiling;
this.JLAAGNMCFBN = Mathf.Clamp(this.desiredHoverHeight + this.HoverHeightVarietyOffset, 263f, num);
}
else
{
this.JLAAGNMCFBN = 1347f;
}
this.GOCOODINDFC = this.EFBJHLLLPJC + Vector3.up * this.JLAAGNMCFBN;
}
// Token: 0x17000A06 RID: 2566
// (get) Token: 0x06016E6F RID: 93807 RVA: 0x00663974 File Offset: 0x00661B74
// (set) Token: 0x06016E87 RID: 93831 RVA: 0x00664194 File Offset: 0x00662394
public bool FDOFMAKEEJN { get; private set; }
// Token: 0x06016E70 RID: 93808 RVA: 0x0066397C File Offset: 0x00661B7C
public Vector3 HDJOHHNBDBL()
{
return this.IGOFELJMFOF;
}
// Token: 0x170009F5 RID: 2549
// (get) Token: 0x06016EBB RID: 93883 RVA: 0x00664D2C File Offset: 0x00662F2C
// (set) Token: 0x06016E71 RID: 93809 RVA: 0x00663984 File Offset: 0x00661B84
public float FMFCBADCFCK
{
get
{
return this.OGGGOFCFFFM;
}
set
{
this.BNFKJAIDHMO = value;
this.OGGGOFCFFFM = this.BNFKJAIDHMO * this.NEBHLOLDICK;
}
}
// Token: 0x170009FD RID: 2557
// (get) Token: 0x06016E72 RID: 93810 RVA: 0x006639A0 File Offset: 0x00661BA0
private bool KKEJOOHLPBI
{
get
{
return this.PMNDOHGFGOA && this.supportsGravity && !this.OGCGDMDPHBM;
}
}
// Token: 0x06016E73 RID: 93811 RVA: 0x006639C4 File Offset: 0x00661BC4
public bool PathIsValid()
{
return this.PDKMFLFOCOL.status != NavMeshPathStatus.PathInvalid && this.KOFMMKOKPDC > 0 && !this.EGKGDGIPABI;
}
// Token: 0x06016E74 RID: 93812 RVA: 0x006639F0 File Offset: 0x00661BF0
public void StopLooking()
{
this.FDOFMAKEEJN = false;
}
// Token: 0x06016E75 RID: 93813 RVA: 0x006639FC File Offset: 0x00661BFC
private void HIOPJOMNLBI()
{
if (this.NINDBGMCPNC && this.NKJPIHMAJGI())
{
if (this.DDIBPCAIKHB >= this.KOFMMKOKPDC || (this.EFBJHLLLPJC - this.CEMNIPGPENG[this.KOFMMKOKPDC - 1]).sqrMagnitude <= 202f)
{
this.JAHIBHNGMHE = true;
}
else if (this.DDIBPCAIKHB >= 0)
{
float sqrMagnitude = (this.CEMNIPGPENG[this.DDIBPCAIKHB] - this.EFBJHLLLPJC).sqrMagnitude;
if (sqrMagnitude <= 1183f && this.DDIBPCAIKHB < this.KOFMMKOKPDC - 1)
{
this.DDIBPCAIKHB += 0;
this.BNOHIFIFDCJ = 421f;
}
else
{
this.EFADLADBMFN = Mathf.Abs(this.BNOHIFIFDCJ - sqrMagnitude) > 1791f;
this.BNOHIFIFDCJ = sqrMagnitude;
if (this.EFADLADBMFN && Time.time - this.OMDPEBLKPBJ >= 170f)
{
this.EGKGDGIPABI = true;
}
}
Vector3 vector = this.CEMNIPGPENG[this.DDIBPCAIKHB];
vector += Vector3.up * this.JLAAGNMCFBN;
this.KMMCIOFAHJD(vector, this.AKJFMJMCNMD, this.LBFHNGPIOGH, this.FCFPFLCLCJE);
}
}
}
// Token: 0x170009F8 RID: 2552
// (get) Token: 0x06016E9F RID: 93855 RVA: 0x006646F8 File Offset: 0x006628F8
// (set) Token: 0x06016E76 RID: 93814 RVA: 0x00663B78 File Offset: 0x00661D78
public float HAMIGCDKOKE { get; set; }
// Token: 0x170009FF RID: 2559
// (get) Token: 0x06016E77 RID: 93815 RVA: 0x00663B84 File Offset: 0x00661D84
// (set) Token: 0x06016EA0 RID: 93856 RVA: 0x00664700 File Offset: 0x00662900
public bool ECODDCJIOFA { get; private set; }
// Token: 0x06016E78 RID: 93816 RVA: 0x00663B8C File Offset: 0x00661D8C
private void INCGGEOOBDA()
{
Vector3 vector = this.GGPILMKBGGN.JHBFKKAFPFG() + this.IGOFELJMFOF * Time.fixedDeltaTime;
if (this.ALFJNEIAJEI)
{
vector += Vector3.up * this.FMFCBADCFCK * Time.fixedDeltaTime;
}
this.GGPILMKBGGN.CIGPHKLAAOD = vector;
if (this.FAOJOIFDHIN && this.IGOFELJMFOF.sqrMagnitude >= 677f && !this.HEHGAANPEAC())
{
Vector3 vector2 = Vector3.ProjectOnPlane(this.IGOFELJMFOF, Vector3.up);
if (vector2.sqrMagnitude >= 393f)
{
vector2.Normalize();
Quaternion quaternion = Quaternion.LookRotation(vector2, Vector3.up);
this.GGPILMKBGGN.IJGPPOIJDKO = Quaternion.RotateTowards(this.GGPILMKBGGN.IJGPPOIJDKO, quaternion, this.HAMIGCDKOKE * Time.fixedDeltaTime);
}
}
if (this.canOnlyMoveForward && !this.FDOFMAKEEJN)
{
Vector3 vector3 = Vector3.Project(this.IGOFELJMFOF, Vector3.up);
Vector3 vector4 = Vector3.Project(this.IGOFELJMFOF, base.transform.forward);
this.IGOFELJMFOF = vector3 + vector4;
}
Vector3 vector5 = Vector3.zero;
vector5 += this.LMEJNBECPIH();
vector5 = Vector3.ClampMagnitude(vector5, this.maxSteeringForce);
if (this.LAGMDCABPPJ)
{
vector5 += this.DHPIHKEMFIJ();
}
Vector3 vector6 = vector5 / ((!this.useMass) ? 1238f : this.GGPILMKBGGN.BLAHONLJLFK());
this.IGOFELJMFOF += vector6 * Time.fixedDeltaTime;
if (this.KKEJOOHLPBI && !this.ALFJNEIAJEI)
{
if (this.ECODDCJIOFA)
{
this.IGOFELJMFOF = Vector3.ProjectOnPlane(this.IGOFELJMFOF, this.EPIJGDAJDJN);
}
else
{
this.IGOFELJMFOF += Physics.gravity * Time.fixedDeltaTime;
}
}
this.IGOFELJMFOF = Vector3.ClampMagnitude(this.IGOFELJMFOF, this.FMFCBADCFCK);
}
// Token: 0x06016E79 RID: 93817 RVA: 0x00663DC0 File Offset: 0x00661FC0
public void Path(Vector3 CECEGDBCMOD, float KDKANGMCIGD, float HOKNBIJMOOI, bool LNGCBFMCOLN)
{
this.JAHIBHNGMHE = false;
this.HOHCCGGLBNO = CECEGDBCMOD;
this.LBFHNGPIOGH = this.FJKMNIGCOBL;
this.AKJFMJMCNMD = KDKANGMCIGD;
this.FCFPFLCLCJE = LNGCBFMCOLN;
if (NavMesh.CalculatePath(this.EFBJHLLLPJC, CECEGDBCMOD, -1, this.PDKMFLFOCOL))
{
this.KOFMMKOKPDC = this.PDKMFLFOCOL.GetCornersNonAlloc(this.CEMNIPGPENG);
this.DDIBPCAIKHB = 0;
this.BNOHIFIFDCJ = float.MaxValue;
this.EFADLADBMFN = false;
this.EGKGDGIPABI = false;
this.NINDBGMCPNC = true;
}
else
{
this.NINDBGMCPNC = false;
}
}
// Token: 0x06016E7A RID: 93818 RVA: 0x00663E58 File Offset: 0x00662058
public void Look(Vector3 OEEAJGJMHMP, float POIICIOCDOL)
{
this.Look(OEEAJGJMHMP, POIICIOCDOL, 0.01f);
}
// Token: 0x06016E7B RID: 93819 RVA: 0x00663E68 File Offset: 0x00662068
public void Pause()
{
this.BHOIHAONICD = true;
}
// Token: 0x17000A02 RID: 2562
// (get) Token: 0x06016E92 RID: 93842 RVA: 0x006642B4 File Offset: 0x006624B4
// (set) Token: 0x06016E7C RID: 93820 RVA: 0x00663E74 File Offset: 0x00662074
public Vector3 GOCOODINDFC { get; private set; }
// Token: 0x06016E7D RID: 93821 RVA: 0x00663E80 File Offset: 0x00662080
public void KMMCIOFAHJD(Vector3 MMEBLCBANIL, float KDKANGMCIGD, float HOKNBIJMOOI, bool LNGCBFMCOLN)
{
this.FHLEFPDIIJL = false;
this.OCMADKFKGOH = MMEBLCBANIL;
this.FICJGOFLDOP = HOKNBIJMOOI;
this.NCAJOPJPIDI = KDKANGMCIGD;
this.FAOJOIFDHIN = LNGCBFMCOLN;
this.NFLAGEGFALF(true);
}
// Token: 0x06016E7E RID: 93822 RVA: 0x00663EB0 File Offset: 0x006620B0
public void StopSeeking()
{
this.KIOBDMBLJGC = false;
this.IGOFELJMFOF = Vector3.zero;
}
// Token: 0x06016E7F RID: 93823 RVA: 0x00663EC4 File Offset: 0x006620C4
public Vector3 BEBOJFFLAKI()
{
return this.<NMJJANLKCJP>k__BackingField;
}
// Token: 0x170009F6 RID: 2550
// (get) Token: 0x06016EB7 RID: 93879 RVA: 0x00664AC0 File Offset: 0x00662CC0
// (set) Token: 0x06016E81 RID: 93825 RVA: 0x00663ED8 File Offset: 0x006620D8
public float NEBHLOLDICK
{
get
{
return this.COEJCEMJKFF;
}
set
{
this.COEJCEMJKFF = value;
this.OGGGOFCFFFM = this.BNFKJAIDHMO * this.COEJCEMJKFF;
}
}
// Token: 0x06016E82 RID: 93826 RVA: 0x00663EF4 File Offset: 0x006620F4
private Vector3 DHPIHKEMFIJ()
{
Vector3 normalized = Vector3.ProjectOnPlane(this.IGFAFDKIHBI - this.GGPILMKBGGN.CIGPHKLAAOD, Vector3.up).normalized;
Vector3 normalized2 = Vector3.ProjectOnPlane(this.IGOFELJMFOF, Vector3.up).normalized;
Vector3 normalized3 = Vector3.Cross(Vector3.up, normalized2).normalized;
float num = 1f;
if (Vector3.Dot(normalized2, normalized) <= 0.9f)
{
num = -1f * Mathf.Sign(Vector3.Dot(Vector3.up, Vector3.Cross(normalized2, normalized)));
}
this.LJNLAHPPLPM = normalized3 * num;
return this.LJNLAHPPLPM * this.GKJLNANPDNC;
}
// Token: 0x17000A05 RID: 2565
// (get) Token: 0x06016E83 RID: 93827 RVA: 0x00663FB0 File Offset: 0x006621B0
// (set) Token: 0x06016EA4 RID: 93860 RVA: 0x006647EC File Offset: 0x006629EC
public bool CLLJGDOBFDL { get; private set; }
// Token: 0x170009FE RID: 2558
// (get) Token: 0x06016E84 RID: 93828 RVA: 0x00663FB8 File Offset: 0x006621B8
// (set) Token: 0x06016EA3 RID: 93859 RVA: 0x006647C4 File Offset: 0x006629C4
private bool EFADLADBMFN
{
get
{
return this.PDNAKMNBNGN;
}
set
{
if (!this.PDNAKMNBNGN && value)
{
this.OMDPEBLKPBJ = Time.time;
}
this.PDNAKMNBNGN = value;
}
}
// Token: 0x06016E85 RID: 93829 RVA: 0x00663FC0 File Offset: 0x006621C0
private void ECJEHDFGFFK()
{
if (this.NINDBGMCPNC && this.KOFMMKOKPDC > 0 && this.DDIBPCAIKHB < this.KOFMMKOKPDC)
{
Gizmos.color = Color.blue;
Gizmos.DrawLine(base.transform.position, this.CEMNIPGPENG[this.DDIBPCAIKHB]);
Gizmos.color = Color.red;
for (int i = 0; i < this.KOFMMKOKPDC - 1; i += 8)
{
Gizmos.DrawLine(this.CEMNIPGPENG[i], this.CEMNIPGPENG[i + 0]);
}
}
if (this.KIOBDMBLJGC)
{
Gizmos.color = Color.red;
Gizmos.DrawLine(base.transform.position, this.OCMADKFKGOH);
Gizmos.DrawWireSphere(this.OCMADKFKGOH, 1157f);
}
if (this.LAGMDCABPPJ)
{
Gizmos.color = Color.yellow;
Gizmos.DrawLine(base.transform.position, base.transform.position + this.LJNLAHPPLPM * 99f);
Gizmos.color = Color.green;
Gizmos.DrawLine(base.transform.position, this.IGFAFDKIHBI);
}
}
// Token: 0x06016E86 RID: 93830 RVA: 0x00664114 File Offset: 0x00662314
private bool HFPEIIIDDFI(Vector3 MIKPIBIENPH, Vector3 HPJOJJMMANE, float DFDIGGDGEOK, bool KGCECHHABGD, out RaycastHit FMHCOGJJNFO)
{
bool flag;
if (KGCECHHABGD)
{
flag = Physics.Raycast(MIKPIBIENPH, HPJOJJMMANE, out FMHCOGJJNFO, DFDIGGDGEOK, 2048, QueryTriggerInteraction.Ignore);
}
else
{
int num = Physics.RaycastNonAlloc(MIKPIBIENPH, HPJOJJMMANE, Steering.BAIEFANJGOL, DFDIGGDGEOK, 210119680, QueryTriggerInteraction.Ignore);
flag = this.GFGFCHJFNEK(Steering.BAIEFANJGOL, num, out FMHCOGJJNFO);
}
if (flag)
{
return true;
}
FMHCOGJJNFO.distance = DFDIGGDGEOK;
FMHCOGJJNFO.point = MIKPIBIENPH + HPJOJJMMANE * DFDIGGDGEOK;
FMHCOGJJNFO.normal = Vector3.up;
return false;
}
// Token: 0x17000A03 RID: 2563
// (get) Token: 0x06016E91 RID: 93841 RVA: 0x006642AC File Offset: 0x006624AC
// (set) Token: 0x06016E88 RID: 93832 RVA: 0x006641A0 File Offset: 0x006623A0
public bool FHLEFPDIIJL { get; private set; }
// Token: 0x06016E89 RID: 93833 RVA: 0x006641AC File Offset: 0x006623AC
public void Look(Vector3 OEEAJGJMHMP)
{
this.Look(OEEAJGJMHMP, 10f);
}
// Token: 0x06016E8A RID: 93834 RVA: 0x006641BC File Offset: 0x006623BC
public void OOMPHKBPMIG(float NOBAPCOKFIL)
{
this.<CNKBLCKNJCH>k__BackingField = NOBAPCOKFIL;
}
// Token: 0x06016E8B RID: 93835 RVA: 0x006641C8 File Offset: 0x006623C8
public void Path(Vector3 CECEGDBCMOD, float KDKANGMCIGD, float HOKNBIJMOOI)
{
this.Path(CECEGDBCMOD, KDKANGMCIGD, 0.01f, true);
}
// Token: 0x06016E8C RID: 93836 RVA: 0x006641D8 File Offset: 0x006623D8
public bool PathIsValid(Vector3 LAGHAOOHGBM, float HFODOGOPGKA = 1f)
{
float num = HFODOGOPGKA * HFODOGOPGKA;
return this.PathIsValid() && (LAGHAOOHGBM - this.HOHCCGGLBNO).sqrMagnitude <= num;
}
// Token: 0x06016E8D RID: 93837 RVA: 0x00664214 File Offset: 0x00662414
private bool BOJMOBEONPP()
{
return !this.PMNDOHGFGOA || !this.supportsGravity || this.OGCGDMDPHBM;
}
// Token: 0x06016E8E RID: 93838 RVA: 0x00664238 File Offset: 0x00662438
private void FixedUpdate()
{
if (base.BHCCHBHNHCG && !this.BHOIHAONICD && this.KIOBDMBLJGC)
{
this.GGPILMKBGGN.IsKinematicVelocityMode = true;
this.OJLCBGJIIBI();
}
else
{
this.GGPILMKBGGN.IsKinematicVelocityMode = false;
}
}
// Token: 0x06016E8F RID: 93839 RVA: 0x0066428C File Offset: 0x0066248C
public void HFOKIGFLFDI()
{
this.KIOBDMBLJGC = true;
this.IGOFELJMFOF = Vector3.zero;
}
// Token: 0x06016E90 RID: 93840 RVA: 0x006642A0 File Offset: 0x006624A0
public void LFMMGPCLGCL()
{
this.FDOFMAKEEJN = false;
}
// Token: 0x17000A07 RID: 2567
// (get) Token: 0x06016E98 RID: 93848 RVA: 0x00664540 File Offset: 0x00662740
// (set) Token: 0x06016E93 RID: 93843 RVA: 0x006642BC File Offset: 0x006624BC
public bool JAHIBHNGMHE { get; private set; }
// Token: 0x06016E94 RID: 93844 RVA: 0x006642C8 File Offset: 0x006624C8
private bool GOFJCLHDHIN()
{
return !this.BHOIHAONICD && (this.KIOBDMBLJGC || this.NINDBGMCPNC);
}
// Token: 0x06016E95 RID: 93845 RVA: 0x006642EC File Offset: 0x006624EC
public void HPGOKEHHFFK(Vector3 MMEBLCBANIL, float KDKANGMCIGD, float HOKNBIJMOOI)
{
this.KMMCIOFAHJD(MMEBLCBANIL, KDKANGMCIGD, 1563f, true);
}
// Token: 0x06016E96 RID: 93846 RVA: 0x006642FC File Offset: 0x006624FC
public void PCHCJHPACCM(Vector3 CECEGDBCMOD, float KDKANGMCIGD, float HOKNBIJMOOI)
{
this.DGHIEOBIONI(CECEGDBCMOD, KDKANGMCIGD, 1063f, true);
}
// Token: 0x06016E97 RID: 93847 RVA: 0x0066430C File Offset: 0x0066250C
private void OJLCBGJIIBI()
{
Vector3 vector = this.GGPILMKBGGN.CIGPHKLAAOD + this.IGOFELJMFOF * Time.fixedDeltaTime;
if (this.ALFJNEIAJEI)
{
vector += Vector3.up * this.FMFCBADCFCK * Time.fixedDeltaTime;
}
this.GGPILMKBGGN.CIGPHKLAAOD = vector;
if (this.FAOJOIFDHIN && this.IGOFELJMFOF.sqrMagnitude >= 0.001f && !this.FDOFMAKEEJN)
{
Vector3 vector2 = Vector3.ProjectOnPlane(this.IGOFELJMFOF, Vector3.up);
if (vector2.sqrMagnitude >= 0.001f)
{
vector2.Normalize();
Quaternion quaternion = Quaternion.LookRotation(vector2, Vector3.up);
this.GGPILMKBGGN.IJGPPOIJDKO = Quaternion.RotateTowards(this.GGPILMKBGGN.IJGPPOIJDKO, quaternion, this.HAMIGCDKOKE * Time.fixedDeltaTime);
}
}
if (this.canOnlyMoveForward && !this.FDOFMAKEEJN)
{
Vector3 vector3 = Vector3.Project(this.IGOFELJMFOF, Vector3.up);
Vector3 vector4 = Vector3.Project(this.IGOFELJMFOF, base.transform.forward);
this.IGOFELJMFOF = vector3 + vector4;
}
Vector3 vector5 = Vector3.zero;
vector5 += this.FDODKHJBGFN();
vector5 = Vector3.ClampMagnitude(vector5, this.maxSteeringForce);
if (this.LAGMDCABPPJ)
{
vector5 += this.DHPIHKEMFIJ();
}
Vector3 vector6 = vector5 / ((!this.useMass) ? 1f : this.GGPILMKBGGN.ANCHBLJANCO);
this.IGOFELJMFOF += vector6 * Time.fixedDeltaTime;
if (this.KKEJOOHLPBI && !this.ALFJNEIAJEI)
{
if (this.ECODDCJIOFA)
{
this.IGOFELJMFOF = Vector3.ProjectOnPlane(this.IGOFELJMFOF, this.EPIJGDAJDJN);
}
else
{
this.IGOFELJMFOF += Physics.gravity * Time.fixedDeltaTime;
}
}
this.IGOFELJMFOF = Vector3.ClampMagnitude(this.IGOFELJMFOF, this.FMFCBADCFCK);
}
// Token: 0x06016E99 RID: 93849 RVA: 0x00664548 File Offset: 0x00662748
public bool BODIMLFOIMA()
{
return this.<FOEMIHKFIEL>k__BackingField;
}
// Token: 0x06016E9B RID: 93851 RVA: 0x0066455C File Offset: 0x0066275C
private void JHCOJFFBMKO()
{
if (base.IGIPCHFCFNN() && !this.BHOIHAONICD && this.KIOBDMBLJGC)
{
this.GGPILMKBGGN.IsKinematicVelocityMode = true;
this.OJLCBGJIIBI();
}
else
{
this.GGPILMKBGGN.IsKinematicVelocityMode = false;
}
}
// Token: 0x06016E9D RID: 93853 RVA: 0x006646D8 File Offset: 0x006628D8
public void Look(Quaternion AMOLKNCPJAM, float POIICIOCDOL)
{
this.Look(AMOLKNCPJAM, POIICIOCDOL, 0.01f);
}
// Token: 0x06016E9E RID: 93854 RVA: 0x006646E8 File Offset: 0x006628E8
public void Look(Vector3 OEEAJGJMHMP, float POIICIOCDOL, float HOKNBIJMOOI)
{
this.Look(Quaternion.LookRotation(OEEAJGJMHMP), POIICIOCDOL, HOKNBIJMOOI);
}
// Token: 0x06016EA1 RID: 93857 RVA: 0x0066470C File Offset: 0x0066290C
public void Look(Quaternion AMOLKNCPJAM)
{
this.Look(AMOLKNCPJAM, 10f);
}
// Token: 0x06016EA2 RID: 93858 RVA: 0x0066471C File Offset: 0x0066291C
private bool KEMMMFMFCFJ(Vector3 MIKPIBIENPH, Vector3 KLEEKKMJPJK, Vector3 HPJOJJMMANE, Quaternion OCDHMDJIKGG, float DFDIGGDGEOK, bool KGCECHHABGD, out RaycastHit FMHCOGJJNFO)
{
MIKPIBIENPH += Vector3.up * 0.01f;
MIKPIBIENPH -= HPJOJJMMANE * 0.01f;
DFDIGGDGEOK += 0.01f;
bool flag;
if (KGCECHHABGD)
{
flag = Physics.BoxCast(MIKPIBIENPH, KLEEKKMJPJK, HPJOJJMMANE, out FMHCOGJJNFO, OCDHMDJIKGG, DFDIGGDGEOK, 2048, QueryTriggerInteraction.Ignore);
}
else
{
int num = Physics.BoxCastNonAlloc(MIKPIBIENPH, KLEEKKMJPJK, HPJOJJMMANE, Steering.BAIEFANJGOL, OCDHMDJIKGG, DFDIGGDGEOK, 210119680, QueryTriggerInteraction.Ignore);
flag = this.GFGFCHJFNEK(Steering.BAIEFANJGOL, num, out FMHCOGJJNFO);
}
if (flag)
{
FMHCOGJJNFO.distance -= 0.01f;
return true;
}
return false;
}
// Token: 0x170009FA RID: 2554
// (get) Token: 0x06016EC1 RID: 93889 RVA: 0x00664E54 File Offset: 0x00663054
// (set) Token: 0x06016EA5 RID: 93861 RVA: 0x006647F8 File Offset: 0x006629F8
public bool PNBHCJPBNMA
{
get
{
return this.EJLDMDFJOBN;
}
set
{
this.EJLDMDFJOBN = value;
}
}
// Token: 0x06016EA6 RID: 93862 RVA: 0x00664804 File Offset: 0x00662A04
public bool HAODGLCKEOF()
{
return this.PNBHCJPBNMA && this.desiredHoverHeight > Mathf.Epsilon;
}
// Token: 0x06016EA7 RID: 93863 RVA: 0x00664824 File Offset: 0x00662A24
public bool CGGCDLDMNDC()
{
return this.<GHAGOCEINCF>k__BackingField;
}
// Token: 0x17000A04 RID: 2564
// (get) Token: 0x06016EA8 RID: 93864 RVA: 0x0066482C File Offset: 0x00662A2C
// (set) Token: 0x06016EC2 RID: 93890 RVA: 0x00664E5C File Offset: 0x0066305C
public bool KIOBDMBLJGC { get; private set; }
// Token: 0x06016EA9 RID: 93865 RVA: 0x00664834 File Offset: 0x00662A34
public void CEAILEMNKCF(Vector3 OEEAJGJMHMP, float POIICIOCDOL)
{
this.Look(OEEAJGJMHMP, POIICIOCDOL, 1753f);
}
// Token: 0x06016EAA RID: 93866 RVA: 0x00664844 File Offset: 0x00662A44
public void Seek(Vector3 MMEBLCBANIL)
{
this.Seek(MMEBLCBANIL, 1f);
}
// Token: 0x17000A01 RID: 2561
// (get) Token: 0x06016EAE RID: 93870 RVA: 0x00664884 File Offset: 0x00662A84
// (set) Token: 0x06016EAB RID: 93867 RVA: 0x00664854 File Offset: 0x00662A54
public Vector3 EFBJHLLLPJC { get; private set; }
// Token: 0x06016EAC RID: 93868 RVA: 0x00664860 File Offset: 0x00662A60
public void Seek(Vector3 MMEBLCBANIL, float KDKANGMCIGD, float HOKNBIJMOOI)
{
this.Seek(MMEBLCBANIL, KDKANGMCIGD, 0.01f, true);
}
// Token: 0x06016EAD RID: 93869 RVA: 0x00664870 File Offset: 0x00662A70
public void StopAll()
{
this.StopPathing();
this.StopSeeking();
this.StopLooking();
}
// Token: 0x17000A08 RID: 2568
// (get) Token: 0x06016EAF RID: 93871 RVA: 0x0066488C File Offset: 0x00662A8C
// (set) Token: 0x06016EB0 RID: 93872 RVA: 0x00664894 File Offset: 0x00662A94
public bool NINDBGMCPNC { get; private set; }
// Token: 0x06016EB1 RID: 93873 RVA: 0x006648A0 File Offset: 0x00662AA0
private void DBNBFJNDBDG()
{
Quaternion rotation = this.GGPILMKBGGN.IJGPPOIJDKO;
float num = Mathf.Abs(Quaternion.Angle(rotation, this.JPACENCKNPK));
this.CLLJGDOBFDL = num < this.FJKMNIGCOBL;
if (!this.CLLJGDOBFDL)
{
float num2 = this.HAMIGCDKOKE;
if (num < this.OBLCMAGIMGF && this.OBLCMAGIMGF >= Mathf.Epsilon)
{
num2 = this.HAMIGCDKOKE * num / this.OBLCMAGIMGF;
}
this.GGPILMKBGGN.IJGPPOIJDKO = Quaternion.RotateTowards(this.GGPILMKBGGN.IJGPPOIJDKO, this.JPACENCKNPK, num2 * Time.fixedDeltaTime);
}
}
// Token: 0x06016EB2 RID: 93874 RVA: 0x00664940 File Offset: 0x00662B40
public void Path(Vector3 CECEGDBCMOD)
{
this.Path(CECEGDBCMOD, 1f);
}
// Token: 0x06016EB3 RID: 93875 RVA: 0x00664950 File Offset: 0x00662B50
private void Update()
{
if (!this.BHOIHAONICD)
{
this.KKONALOJAJM();
this.CLMEBOLMGMO();
this.JAPKEFMJKFC();
this.LLCPICNGCJM();
if (base.BHCCHBHNHCG)
{
if (this.NINDBGMCPNC)
{
this.AONBHGAGJDA();
}
if (this.FDOFMAKEEJN)
{
this.DBNBFJNDBDG();
}
}
}
}
// Token: 0x06016EB4 RID: 93876 RVA: 0x006649B0 File Offset: 0x00662BB0
public bool NKJPIHMAJGI()
{
return this.PDKMFLFOCOL.status != (NavMeshPathStatus)4 && this.KOFMMKOKPDC > 0 && this.EGKGDGIPABI;
}
// Token: 0x06016EB5 RID: 93877 RVA: 0x006649DC File Offset: 0x00662BDC
public bool HEHGAANPEAC()
{
return this.<PHEDCPDLMON>k__BackingField;
}
// Token: 0x06016EB6 RID: 93878 RVA: 0x006649E4 File Offset: 0x00662BE4
private bool EMGACDDPOIO(BoxCollider AHHACHLKKAP, Vector3 HPJOJJMMANE)
{
Vector3 vector = AHHACHLKKAP.transform.TransformPoint(AHHACHLKKAP.center);
Vector3 vector2 = AHHACHLKKAP.size.NAHCAKKCICD(AHHACHLKKAP.transform.lossyScale) / 2f;
Vector3 normalized = Vector3.ProjectOnPlane(AHHACHLKKAP.transform.forward, Vector3.up).normalized;
Quaternion quaternion = Quaternion.LookRotation(normalized, Vector3.up);
RaycastHit raycastHit;
if (!this.KEMMMFMFCFJ(vector, vector2, HPJOJJMMANE, quaternion, 0.2f, true, out raycastHit) || !this.DDHIHLPAADD(raycastHit.normal))
{
return false;
}
vector += Vector3.up * this.stepHeight;
return !this.KEMMMFMFCFJ(vector, vector2, HPJOJJMMANE, quaternion, 0.2f, true, out raycastHit) || !this.DDHIHLPAADD(raycastHit.normal);
}
// Token: 0x06016EB8 RID: 93880 RVA: 0x00664AC8 File Offset: 0x00662CC8
private void BKFHEGOBNEC()
{
RaycastHit raycastHit;
if (!this.HFPEIIIDDFI(this.GGPILMKBGGN.JHBFKKAFPFG() + Vector3.up * 300f, -Vector3.up, 1851f, false, out raycastHit))
{
this.ECODDCJIOFA = false;
this.EFBJHLLLPJC = this.GGPILMKBGGN.CIGPHKLAAOD;
this.EPIJGDAJDJN = Vector3.up;
}
else
{
raycastHit.distance -= 753f;
this.ECODDCJIOFA = raycastHit.distance <= this.surfaceTestDistance;
this.EFBJHLLLPJC = raycastHit.point;
this.EPIJGDAJDJN = raycastHit.normal;
}
}
// Token: 0x06016EB9 RID: 93881 RVA: 0x00664B80 File Offset: 0x00662D80
public void Seek(Vector3 MMEBLCBANIL, float KDKANGMCIGD, float HOKNBIJMOOI, bool LNGCBFMCOLN)
{
this.FHLEFPDIIJL = false;
this.OCMADKFKGOH = MMEBLCBANIL;
this.FICJGOFLDOP = HOKNBIJMOOI;
this.NCAJOPJPIDI = KDKANGMCIGD;
this.FAOJOIFDHIN = LNGCBFMCOLN;
this.KIOBDMBLJGC = true;
}
// Token: 0x06016EBA RID: 93882 RVA: 0x00664BB0 File Offset: 0x00662DB0
private void AONBHGAGJDA()
{
if (this.NINDBGMCPNC && this.PathIsValid())
{
if (this.DDIBPCAIKHB >= this.KOFMMKOKPDC || (this.EFBJHLLLPJC - this.CEMNIPGPENG[this.KOFMMKOKPDC - 1]).sqrMagnitude <= 0.1f)
{
this.JAHIBHNGMHE = true;
}
else if (this.DDIBPCAIKHB >= 0)
{
float sqrMagnitude = (this.CEMNIPGPENG[this.DDIBPCAIKHB] - this.EFBJHLLLPJC).sqrMagnitude;
if (sqrMagnitude <= 0.25f && this.DDIBPCAIKHB < this.KOFMMKOKPDC - 1)
{
this.DDIBPCAIKHB++;
this.BNOHIFIFDCJ = float.MaxValue;
}
else
{
this.EFADLADBMFN = Mathf.Abs(this.BNOHIFIFDCJ - sqrMagnitude) <= 0.01f;
this.BNOHIFIFDCJ = sqrMagnitude;
if (this.EFADLADBMFN && Time.time - this.OMDPEBLKPBJ >= 1f)
{
this.EGKGDGIPABI = true;
}
}
Vector3 vector = this.CEMNIPGPENG[this.DDIBPCAIKHB];
vector += Vector3.up * this.JLAAGNMCFBN;
this.Seek(vector, this.AKJFMJMCNMD, this.LBFHNGPIOGH, this.FCFPFLCLCJE);
}
}
}
// Token: 0x06016EBD RID: 93885 RVA: 0x00664D44 File Offset: 0x00662F44
private bool DDHIHLPAADD(Vector3 CJDGNGLMGDI)
{
float num = Vector3.Angle(Vector3.up, CJDGNGLMGDI);
return num >= 80f && num <= 100f;
}
// Token: 0x06016EBE RID: 93886 RVA: 0x00664D78 File Offset: 0x00662F78
private void LLCPICNGCJM()
{
if (Time.time - this.GABMILOOBAD < 0.1f)
{
return;
}
this.GABMILOOBAD = Time.time;
if (!this.GOFJCLHDHIN() || !this.NELNPFNGGBF || this.OGCGDMDPHBM || !base.BHCCHBHNHCG)
{
this.ALFJNEIAJEI = false;
return;
}
Vector3 vector = Vector3.ProjectOnPlane(this.IGOFELJMFOF, Vector3.up);
this.ALFJNEIAJEI = vector.sqrMagnitude >= 1E-05f && this.EMGACDDPOIO(this.collisionDetectionBoxCollider, vector.normalized);
}
// Token: 0x06016EBF RID: 93887 RVA: 0x00664E1C File Offset: 0x0066301C
public void StopPathing()
{
this.NINDBGMCPNC = false;
this.EFADLADBMFN = false;
this.EGKGDGIPABI = false;
this.KOFMMKOKPDC = 0;
this.DDIBPCAIKHB = -1;
this.StopSeeking();
}
// Token: 0x17000A00 RID: 2560
// (get) Token: 0x06016ECE RID: 93902 RVA: 0x00665320 File Offset: 0x00663520
// (set) Token: 0x06016EC0 RID: 93888 RVA: 0x00664E48 File Offset: 0x00663048
public Vector3 EPIJGDAJDJN { get; private set; }
// Token: 0x06016EC3 RID: 93891 RVA: 0x00664E68 File Offset: 0x00663068
private void CLMEBOLMGMO()
{
if (this.OGCGDMDPHBM)
{
RaycastHit raycastHit;
if (this.HFPEIIIDDFI(this.EFBJHLLLPJC, Vector3.up, 3.4028235E+38f, true, out raycastHit))
{
this.KKGBBHIAALB = raycastHit.distance;
}
else
{
this.KKGBBHIAALB = float.MaxValue;
}
float num = this.KKGBBHIAALB - this.minAllowableDistanceToCeiling;
this.JLAAGNMCFBN = Mathf.Clamp(this.desiredHoverHeight + this.HoverHeightVarietyOffset, 0f, num);
}
else
{
this.JLAAGNMCFBN = 0f;
}
this.GOCOODINDFC = this.EFBJHLLLPJC + Vector3.up * this.JLAAGNMCFBN;
}
// Token: 0x06016EC4 RID: 93892 RVA: 0x00664F18 File Offset: 0x00663118
private void OnDrawGizmos()
{
if (this.NINDBGMCPNC && this.KOFMMKOKPDC > 0 && this.DDIBPCAIKHB < this.KOFMMKOKPDC)
{
Gizmos.color = Color.blue;
Gizmos.DrawLine(base.transform.position, this.CEMNIPGPENG[this.DDIBPCAIKHB]);
Gizmos.color = Color.red;
for (int i = 0; i < this.KOFMMKOKPDC - 1; i += 2)
{
Gizmos.DrawLine(this.CEMNIPGPENG[i], this.CEMNIPGPENG[i + 1]);
}
}
if (this.KIOBDMBLJGC)
{
Gizmos.color = Color.red;
Gizmos.DrawLine(base.transform.position, this.OCMADKFKGOH);
Gizmos.DrawWireSphere(this.OCMADKFKGOH, 0.25f);
}
if (this.LAGMDCABPPJ)
{
Gizmos.color = Color.yellow;
Gizmos.DrawLine(base.transform.position, base.transform.position + this.LJNLAHPPLPM * 1.5f);
Gizmos.color = Color.green;
Gizmos.DrawLine(base.transform.position, this.IGFAFDKIHBI);
}
}
// Token: 0x06016EC5 RID: 93893 RVA: 0x0066506C File Offset: 0x0066326C
public void Look(Quaternion AMOLKNCPJAM, float POIICIOCDOL, float HOKNBIJMOOI)
{
this.CLLJGDOBFDL = false;
this.JPACENCKNPK = AMOLKNCPJAM;
this.OBLCMAGIMGF = POIICIOCDOL;
this.FJKMNIGCOBL = HOKNBIJMOOI;
this.FDOFMAKEEJN = true;
}
// Token: 0x06016EC6 RID: 93894 RVA: 0x00665094 File Offset: 0x00663294
public void NDGKHAMPONJ()
{
this.NFLAGEGFALF(false);
this.IGOFELJMFOF = Vector3.zero;
}
// Token: 0x06016EC7 RID: 93895 RVA: 0x006650A8 File Offset: 0x006632A8
private void IPJGFALDDIG(bool NOBAPCOKFIL)
{
if (!this.PDNAKMNBNGN && NOBAPCOKFIL)
{
this.OMDPEBLKPBJ = Time.time;
}
this.PDNAKMNBNGN = NOBAPCOKFIL;
}
// Token: 0x170009FC RID: 2556
// (get) Token: 0x06016EC8 RID: 93896 RVA: 0x006650D0 File Offset: 0x006632D0
public bool OGCGDMDPHBM
{
get
{
return this.PNBHCJPBNMA && this.desiredHoverHeight > Mathf.Epsilon;
}
}
// Token: 0x06016EC9 RID: 93897 RVA: 0x006650F0 File Offset: 0x006632F0
public bool AICMAGHCBIB()
{
return this.<INBCCAELCKG>k__BackingField;
}
// Token: 0x06016ECA RID: 93898 RVA: 0x006650F8 File Offset: 0x006632F8
public void DGHIEOBIONI(Vector3 CECEGDBCMOD, float KDKANGMCIGD, float HOKNBIJMOOI, bool LNGCBFMCOLN)
{
this.JAHIBHNGMHE = true;
this.HOHCCGGLBNO = CECEGDBCMOD;
this.LBFHNGPIOGH = this.FJKMNIGCOBL;
this.AKJFMJMCNMD = KDKANGMCIGD;
this.FCFPFLCLCJE = LNGCBFMCOLN;
if (NavMesh.CalculatePath(this.EFBJHLLLPJC, CECEGDBCMOD, -1, this.PDKMFLFOCOL))
{
this.KOFMMKOKPDC = this.PDKMFLFOCOL.GetCornersNonAlloc(this.CEMNIPGPENG);
this.DDIBPCAIKHB = 1;
this.BNOHIFIFDCJ = 1309f;
this.EFADLADBMFN = true;
this.EGKGDGIPABI = true;
this.NINDBGMCPNC = false;
}
else
{
this.NINDBGMCPNC = true;
}
}
// Token: 0x06016ECB RID: 93899 RVA: 0x00665190 File Offset: 0x00663390
public void Path(Vector3 CECEGDBCMOD, float KDKANGMCIGD)
{
this.Path(CECEGDBCMOD, KDKANGMCIGD, 0.01f);
}
// Token: 0x06016ECC RID: 93900 RVA: 0x006651A0 File Offset: 0x006633A0
private void DHGGGLJBICA()
{
if (this.NINDBGMCPNC && this.KOFMMKOKPDC > 1 && this.DDIBPCAIKHB < this.KOFMMKOKPDC)
{
Gizmos.color = Color.blue;
Gizmos.DrawLine(base.transform.position, this.CEMNIPGPENG[this.DDIBPCAIKHB]);
Gizmos.color = Color.red;
for (int i = 1; i < this.KOFMMKOKPDC - 0; i += 3)
{
Gizmos.DrawLine(this.CEMNIPGPENG[i], this.CEMNIPGPENG[i + 0]);
}
}
if (this.KIOBDMBLJGC)
{
Gizmos.color = Color.red;
Gizmos.DrawLine(base.transform.position, this.OCMADKFKGOH);
Gizmos.DrawWireSphere(this.OCMADKFKGOH, 1621f);
}
if (this.LAGMDCABPPJ)
{
Gizmos.color = Color.yellow;
Gizmos.DrawLine(base.transform.position, base.transform.position + this.LJNLAHPPLPM * 1369f);
Gizmos.color = Color.green;
Gizmos.DrawLine(base.transform.position, this.IGFAFDKIHBI);
}
}
// Token: 0x06016ECD RID: 93901 RVA: 0x006652F4 File Offset: 0x006634F4
public void NHBOKDINFMG()
{
this.NINDBGMCPNC = true;
this.IPJGFALDDIG(false);
this.EGKGDGIPABI = false;
this.KOFMMKOKPDC = 0;
this.DDIBPCAIKHB = -1;
this.StopSeeking();
}
// Token: 0x06016ECF RID: 93903 RVA: 0x00665328 File Offset: 0x00663528
private bool COCBBIJPPBN(BoxCollider AHHACHLKKAP, Vector3 HPJOJJMMANE, out Vector3 IGFAFDKIHBI)
{
Vector3 vector = AHHACHLKKAP.transform.TransformPoint(AHHACHLKKAP.center);
Vector3 vector2 = AHHACHLKKAP.size.NAHCAKKCICD(AHHACHLKKAP.transform.lossyScale) / 2f;
Vector3 normalized = Vector3.ProjectOnPlane(AHHACHLKKAP.transform.forward, Vector3.up).normalized;
Quaternion quaternion = Quaternion.LookRotation(normalized, Vector3.up);
RaycastHit raycastHit;
if (this.KEMMMFMFCFJ(vector, vector2, HPJOJJMMANE, quaternion, 2.5f, false, out raycastHit) && !raycastHit.collider.gameObject.OPJBDKJDLFF(LCIGHPPLKCA.StaticPhysics))
{
IGFAFDKIHBI = raycastHit.point;
return true;
}
IGFAFDKIHBI = Vector3.zero;
return false;
}
// Token: 0x06016ED0 RID: 93904 RVA: 0x006653E4 File Offset: 0x006635E4
private Vector3 FDODKHJBGFN()
{
Vector3 vector = this.OCMADKFKGOH - this.GGPILMKBGGN.CIGPHKLAAOD;
float magnitude = vector.magnitude;
if (magnitude < this.FICJGOFLDOP)
{
this.FHLEFPDIIJL = true;
return Vector3.zero;
}
this.FHLEFPDIIJL = false;
float num = this.FMFCBADCFCK;
if (magnitude < this.NCAJOPJPIDI && this.NCAJOPJPIDI >= Mathf.Epsilon)
{
num = this.FMFCBADCFCK * magnitude / this.NCAJOPJPIDI;
}
Vector3 normalized = vector.normalized;
Vector3 vector2 = normalized * num;
Vector3 vector3 = vector2 - this.IGOFELJMFOF;
Vector3 normalized2 = this.IGOFELJMFOF.normalized;
float num2 = 1f - Mathf.Clamp01(Vector3.Dot(normalized, normalized2));
Vector3 vector4 = -this.IGOFELJMFOF * num2 * this.braking;
return (vector3 + vector4) / 0.1f;
}
// Token: 0x06016ED1 RID: 93905 RVA: 0x006654D8 File Offset: 0x006636D8
private bool GFGFCHJFNEK(RaycastHit[] ILHLBNEMBDH, int EDGHJFNDLNM, out RaycastHit ONDOFOCLJFE)
{
float num = float.MaxValue;
int num2 = -1;
for (int i = 0; i < EDGHJFNDLNM; i++)
{
if (ILHLBNEMBDH[i].distance != 0f && !(ILHLBNEMBDH[i].collider == null))
{
if (ILHLBNEMBDH[i].collider.gameObject.OPJBDKJDLFF(LCIGHPPLKCA.ToolPhysics))
{
Tool tool = ILHLBNEMBDH[i].collider.OBFMDIEKHAN();
if (tool != null && tool.OHGPCMJMFGC)
{
goto IL_FB;
}
}
if (ILHLBNEMBDH[i].collider.gameObject.OPJBDKJDLFF(LCIGHPPLKCA.EnemyPhysics))
{
MHEBDODJGOA mhebdodjgoa;
Enemy enemy = ILHLBNEMBDH[i].collider.AICMDAMIEBP(out mhebdodjgoa);
if (enemy == this)
{
goto IL_FB;
}
}
if (ILHLBNEMBDH[i].distance < num)
{
num = Steering.BAIEFANJGOL[i].distance;
num2 = i;
}
}
IL_FB:;
}
if (num2 >= 0 && num2 < EDGHJFNDLNM)
{
ONDOFOCLJFE = ILHLBNEMBDH[num2];
return true;
}
ONDOFOCLJFE = ILHLBNEMBDH[0];
return false;
}
// Token: 0x0400401E RID: 16414
[SerializeField]
[Header("Steering")]
private float maxLinearSpeed = 5f;
// Token: 0x0400401F RID: 16415
[SerializeField]
private float maxSteeringForce = 50f;
// Token: 0x04004020 RID: 16416
[SerializeField]
private float maxAngularSpeedDegrees = 180f;
// Token: 0x04004021 RID: 16417
[SerializeField]
private float braking = 1f;
// Token: 0x04004022 RID: 16418
[SerializeField]
private bool canOnlyMoveForward = true;
// Token: 0x04004023 RID: 16419
[SerializeField]
private bool useMass = true;
// Token: 0x04004024 RID: 16420
[SerializeField]
[Header("Stepping")]
private BoxCollider collisionDetectionBoxCollider;
// Token: 0x04004025 RID: 16421
[SerializeField]
private float stepHeight = 0.35f;
// Token: 0x04004026 RID: 16422
[SerializeField]
[Header("Surface Testing")]
private float surfaceTestDistance = 0.05f;
// Token: 0x04004027 RID: 16423
[SerializeField]
[Header("Hovering")]
private bool supportsGravity;
// Token: 0x04004028 RID: 16424
[SerializeField]
private float desiredHoverHeight;
// Token: 0x04004029 RID: 16425
[SerializeField]
private float minAllowableDistanceToCeiling = 1f;
// Token: 0x0400402A RID: 16426
private float BNFKJAIDHMO;
// Token: 0x0400402B RID: 16427
private float OGGGOFCFFFM;
// Token: 0x0400402C RID: 16428
private float COEJCEMJKFF = 1f;
// Token: 0x0400402F RID: 16431
private bool EJLDMDFJOBN = true;
// Token: 0x0400403B RID: 16443
[NonSerialized]
public float HoverHeightVarietyOffset;
// Token: 0x0400403C RID: 16444
private bool BHOIHAONICD;
// Token: 0x0400403D RID: 16445
private Vector3 IGOFELJMFOF = Vector3.zero;
// Token: 0x0400403E RID: 16446
private float GABMILOOBAD;
// Token: 0x0400403F RID: 16447
private bool NELNPFNGGBF;
// Token: 0x04004040 RID: 16448
private bool ALFJNEIAJEI;
// Token: 0x04004041 RID: 16449
private float KKGBBHIAALB = float.MaxValue;
// Token: 0x04004042 RID: 16450
private float JLAAGNMCFBN;
// Token: 0x04004043 RID: 16451
private float KDKMNPMILAI;
// Token: 0x04004044 RID: 16452
private Vector3 LJNLAHPPLPM = Vector3.zero;
// Token: 0x04004045 RID: 16453
private bool LAGMDCABPPJ;
// Token: 0x04004046 RID: 16454
private Vector3 IGFAFDKIHBI = Vector3.zero;
// Token: 0x04004047 RID: 16455
private RigidbodyEx GGPILMKBGGN;
// Token: 0x04004048 RID: 16456
private bool PDNAKMNBNGN;
// Token: 0x04004049 RID: 16457
private float BNOHIFIFDCJ = float.MaxValue;
// Token: 0x0400404A RID: 16458
private bool EGKGDGIPABI;
// Token: 0x0400404B RID: 16459
private float OMDPEBLKPBJ;
// Token: 0x0400404C RID: 16460
private Vector3 OCMADKFKGOH = Vector3.zero;
// Token: 0x0400404D RID: 16461
private float NCAJOPJPIDI = 1f;
// Token: 0x0400404E RID: 16462
private float FICJGOFLDOP = 0.01f;
// Token: 0x0400404F RID: 16463
private bool FAOJOIFDHIN = true;
// Token: 0x04004050 RID: 16464
private Quaternion JPACENCKNPK = Quaternion.identity;
// Token: 0x04004051 RID: 16465
private float OBLCMAGIMGF = 10f;
// Token: 0x04004052 RID: 16466
private float FJKMNIGCOBL = 0.01f;
// Token: 0x04004053 RID: 16467
private Vector3 HOHCCGGLBNO = Vector3.zero;
// Token: 0x04004054 RID: 16468
private float AKJFMJMCNMD = 1f;
// Token: 0x04004055 RID: 16469
private float LBFHNGPIOGH = 0.01f;
// Token: 0x04004056 RID: 16470
private bool FCFPFLCLCJE = true;
// Token: 0x04004057 RID: 16471
private NavMeshPath PDKMFLFOCOL;
// Token: 0x04004058 RID: 16472
private Vector3[] CEMNIPGPENG;
// Token: 0x04004059 RID: 16473
private int KOFMMKOKPDC;
// Token: 0x0400405A RID: 16474
private int DDIBPCAIKHB;
// Token: 0x0400405B RID: 16475
private static RaycastHit[] BAIEFANJGOL = new RaycastHit[16];
// Token: 0x0400405C RID: 16476
private const float JOCJDJGJNLL = 0.1f;
// Token: 0x0400405D RID: 16477
private const float OPOLGGIKNBI = 0.01f;
// Token: 0x0400405E RID: 16478
private const float MLFNDKPIKEK = 1E-05f;
// Token: 0x0400405F RID: 16479
private const float GBMEPGDAIHL = 10f;
// Token: 0x04004060 RID: 16480
private const float BBHGCJPENEO = 0.1f;
// Token: 0x04004061 RID: 16481
private const float GODENGIKNDE = 80f;
// Token: 0x04004062 RID: 16482
private const float EMMLPAPCKGK = 100f;
// Token: 0x04004063 RID: 16483
private const float HNMADCKGKIC = 0.2f;
// Token: 0x04004064 RID: 16484
private const float EBDKFOLDAFG = 5f;
// Token: 0x04004065 RID: 16485
private const float BMLDOENMCEB = 0.2f;
// Token: 0x04004066 RID: 16486
private const float OJGAKFIIJBD = 2.5f;
// Token: 0x04004067 RID: 16487
private const float ACKPBEJOABM = 0.01f;
// Token: 0x04004068 RID: 16488
private const float FJAPOOBMJAC = 1f;
}
}