// Token: 0x06001899 RID: 6297 RVA: 0x0002BA6C File Offset: 0x0002AA6C public unsafe void Fill(RadarTracker tracker, Event evnt) { LocalHumanOpponent localHumanOpponent = Engine.Get().OpponentManager().FindLocalOpponent(); tracker.Enabled = false; tracker.SetMovieClipName("Cop"); float num = 0f; localHumanOpponent.Vehicle.GetSkillModEffectAmount(SkillModEffectType.Radar, &num); float rad_ = 0f; float num2 = 0f; Cops.GetClosestCopDirectionAndDistance(&rad_, &num2); if ((double)num2 <= 0.0 || num2 > this.radarFarMax || num2 < this.radarNearMin || num2 < num) { tracker.Enabled = false; tracker.Distance = RadarDistance.kRadarDistance_OutOfRange; return; } tracker.Enabled = true; tracker.Distance = RadarDistance.kRadarDistance_Far; if (num2 < this.radarMediumMin) { tracker.Distance = RadarDistance.kRadarDistance_Near; } else if (num2 < this.radarFarMin) { tracker.Distance = RadarDistance.kRadarDistance_Medium; } tracker.DirectionDeg = Conversions.RAD2DEG(rad_); }
public void RemoveTracker(RadarTracker tracker) { if (tracker.GetTrackerModel() != null) { Destroy(tracker.GetTrackerModel().gameObject); } trackers.Remove(tracker); }
// Token: 0x06001896 RID: 6294 RVA: 0x0002B828 File Offset: 0x0002A828 public void Fill(RadarTracker tracker, Event evnt) { LocalHumanOpponent localHumanOpponent = Engine.Get().OpponentManager().FindLocalOpponent(); double num = double.MaxValue; Collection collection = null; for (uint num2 = 0u; num2 < evnt.EventDef.Num_Coins(); num2 += 1u) { Collection collection2 = new Collection(evnt.EventDef.Coins(num2).GetCollectionKey()); uint collectionKey = collection2.GetCollection(); PointOfInterest pointOfInterest = evnt.PointsOfInterest.Find((PointOfInterest x) => x.Key == collectionKey); if (pointOfInterest != null && pointOfInterest.IsEnabled()) { double num3 = (double)GameCore.Math.Math.DistanceXZ2(localHumanOpponent.Vehicle.GetPosition(), CoordSys.RenderToSim(collection2.Position())); if (num3 < num) { num = num3; collection = collection2; } } } tracker.Enabled = false; tracker.SetMovieClipName("Treasure"); if (collection != null) { GameCore.Math.Vector3 vector = CoordSys.RenderToSim(collection.Position()); GameCore.Math.Vector3 p = new GameCore.Math.Vector3(localHumanOpponent.Vehicle.GetPosition()); GameCore.Math.Math.Sub(ref vector, p); double num4 = System.Math.Sqrt(GameCore.Math.Math.LengthSq(vector)); if (num4 > (double)this.radarFarMax || num4 < (double)this.radarNearMin) { tracker.Enabled = false; tracker.Distance = RadarDistance.kRadarDistance_OutOfRange; return; } tracker.Enabled = true; tracker.Distance = RadarDistance.kRadarDistance_Far; if (num4 < (double)this.radarMediumMin) { tracker.Distance = RadarDistance.kRadarDistance_Near; } else if (num4 < (double)this.radarFarMin) { tracker.Distance = RadarDistance.kRadarDistance_Medium; } UMath.Vector3 direction = localHumanOpponent.Vehicle.GetDirection(); GameCore.Math.Vector2 p2 = new GameCore.Math.Vector2(direction.x, direction.z); GameCore.Math.Vector2 p3 = new GameCore.Math.Vector2(vector.x, vector.z); GameCore.Math.Math.Normalize(ref p3); float num5 = (float)System.Math.Acos((double)GameCore.Math.Math.Clamp <float>(GameCore.Math.Math.Dot(p2, p3), -1f, 1f)); if (GameCore.Math.Math.Cross(p2, p3) < 0f) { num5 = -num5; } tracker.DirectionDeg = Conversions.RAD2DEG(num5); } }
// Token: 0x060016FF RID: 5887 RVA: 0x00028578 File Offset: 0x00027578 public virtual void FillRadarPacket(ICallback callback) { RadarTrackerCollection radarTrackerCollection = new RadarTrackerCollection(); for (int i = 0; i < this.radarMethodList.Count; i++) { RadarTracker tracker = radarTrackerCollection.CreateRadarTracker(); this.radarMethodList[i].Fill(tracker, this); } callback.Respond(radarTrackerCollection); callback.Destroy(); callback = null; }
public void AddTracker(RadarTracker tracker) { trackers.Add(tracker); GameObject trackModel = Instantiate(trackerObjects.Find(c => c.type == tracker.type).model) as GameObject; SetParentRoot(trackModel.transform, radarRoot); tracker.SetTrackerModel(trackModel.transform); TrackerBehaviour trackerBehaviour = trackModel.GetComponent <TrackerBehaviour>(); if (trackerBehaviour != null) { trackerBehaviour.InitBehaviour(tracker); } }
public abstract void InitBehaviour(RadarTracker tracker);
// Start is called before the first frame update void Awake() { rt = this.GetComponentInParent <RadarTracker>(); }
public override void InitBehaviour(RadarTracker tracker) { brain = tracker.GetComponent <IABrain>(); filledImage.fillAmount = 0f; filledImage.color = stateColors.Find(c => c.state == IAState.IAStateTag.IDLE).color; }