Example #1
0
        // 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_);
        }
Example #2
0
 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);
            }
        }
Example #4
0
        // 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;
        }
Example #5
0
    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);
Example #7
0
 // Start is called before the first frame update
 void Awake()
 {
     rt = this.GetComponentInParent <RadarTracker>();
 }
Example #8
0
 public override void InitBehaviour(RadarTracker tracker)
 {
     brain = tracker.GetComponent <IABrain>();
     filledImage.fillAmount = 0f;
     filledImage.color      = stateColors.Find(c => c.state == IAState.IAStateTag.IDLE).color;
 }