public void State_Strafe_Enter(Vector3 strafePos, bool shouldUseNapalm = false) { Vector3 vector3; Vector3 vector31; if (this.CanUseNapalm() & shouldUseNapalm) { this.useNapalm = shouldUseNapalm; this.lastNapalmTime = UnityEngine.Time.realtimeSinceStartup; } this.lastStrafeTime = UnityEngine.Time.realtimeSinceStartup; this._currentState = PatrolHelicopterAI.aiState.STRAFE; if (!TransformUtil.GetGroundInfo(strafePos, out vector3, out vector31, 100f, LayerMask.GetMask(new string[] { "Terrain", "World", "Construction", "Water" }), base.transform)) { this.strafe_target_position = strafePos; } else { this.strafe_target_position = vector3; } this.numRocketsLeft = 12; this.lastRocketTime = 0f; this.movementLockingAiming = true; Vector3 randomOffset = this.GetRandomOffset(strafePos, 175f, 192.5f, 20f, 30f); this.SetTargetDestination(randomOffset, 10f, 30f); this.SetIdealRotation(this.GetYawRotationTo(randomOffset), -1f); this.puttingDistance = true; }
public void State_Patrol_Enter() { this._currentState = PatrolHelicopterAI.aiState.PATROL; Vector3 randomPatrolDestination = this.GetRandomPatrolDestination(); this.SetTargetDestination(randomPatrolDestination, 10f, 30f); this.interestZoneOrigin = randomPatrolDestination; this.arrivalTime = 0f; }
public void State_Move_Enter(Vector3 newPos) { this._currentState = PatrolHelicopterAI.aiState.MOVE; this.destination_min_dist = 5f; this.SetTargetDestination(newPos, 5f, 30f); float single = Vector3.Distance(base.transform.position, this.destination); this.targetThrottleSpeed = this.GetThrottleForDistance(single); }
public void State_Orbit_Enter(float orbitDistance) { this._currentState = PatrolHelicopterAI.aiState.ORBIT; this.breakingOrbit = false; this.hasEnteredOrbit = false; this.orbitStartTime = UnityEngine.Time.realtimeSinceStartup; Vector3 vector3 = base.transform.position - this.interestZoneOrigin; this.currentOrbitTime = Mathf.Atan2(vector3.x, vector3.z); this.currentOrbitDistance = orbitDistance; this.ClearAimTarget(); this.SetTargetDestination(this.GetOrbitPosition(this.currentOrbitTime), 20f, 0f); }
public void State_Death_Enter() { Vector3 vector3; Vector3 vector31; this.maxRotationSpeed *= 8f; this._currentState = PatrolHelicopterAI.aiState.DEATH; int num = 1236478737; TransformUtil.GetGroundInfo(this.GetRandomOffset(base.transform.position, 20f, 60f, 20f, 30f) - (Vector3.up * 2f), out vector3, out vector31, 500f, num, null); this.SetTargetDestination(vector3, 5f, 30f); this.targetThrottleSpeed = 0.5f; this.deathTimeout = UnityEngine.Time.realtimeSinceStartup + 10f; }
public void State_Idle_Enter() { this._currentState = PatrolHelicopterAI.aiState.IDLE; }
public void ExitCurrentState() { this.OnCurrentStateExit(); this._currentState = PatrolHelicopterAI.aiState.IDLE; }