Beispiel #1
0
    // Token: 0x06000B4A RID: 2890 RVA: 0x0002C5D0 File Offset: 0x0002A7D0
    public void AddRecoil(float duration, float pitch)
    {
        global::Angle2 angle = default(global::Angle2);

        angle.pitch = pitch;
        this.AddRecoil(duration, ref angle);
    }
Beispiel #2
0
 // Token: 0x06000B48 RID: 2888 RVA: 0x0002C4B4 File Offset: 0x0002A6B4
 private bool ExtractRecoil(out global::Angle2 offset)
 {
     offset = default(global::Angle2);
     if (this.recoilImpulses != null)
     {
         int count = this.recoilImpulses.Count;
         if (count > 0)
         {
             float deltaTime = Time.deltaTime;
             global::RecoilSimulation.Recoil[] buffer = this.recoilImpulses.Buffer;
             for (int i = count - 1; i >= 0; i--)
             {
                 if (buffer[i].Extract(ref offset, deltaTime))
                 {
                     this.recoilImpulses.RemoveAt(i);
                     while (--i >= 0)
                     {
                         if (buffer[i].Extract(ref offset, deltaTime))
                         {
                             this.recoilImpulses.RemoveAt(i);
                         }
                     }
                     if (this.recoilImpulses.Count == 0)
                     {
                         base.enabled = false;
                     }
                 }
             }
             return(offset.pitch != 0f || offset.yaw != 0f);
         }
     }
     return(false);
 }
    // Token: 0x060016C3 RID: 5827 RVA: 0x00054480 File Offset: 0x00052680
    public static float SquareAngleDistance(global::Angle2 a, global::Angle2 b)
    {
        float num  = Mathf.DeltaAngle(a.x, b.x);
        float num2 = Mathf.DeltaAngle(a.y, b.y);

        return(num * num + num2 * num2);
    }
 // Token: 0x06001A85 RID: 6789 RVA: 0x00066C00 File Offset: 0x00064E00
 public virtual void SetGoals(Vector3 pos, Quaternion rot, double timestamp)
 {
     if (!this.initialized)
     {
         base.transform.position = pos;
         if (this.idMain is global::Character)
         {
             global::Angle2 eyesAngles = global::Angle2.LookDirection(rot * Vector3.forward);
             eyesAngles.pitch = Mathf.DeltaAngle(0f, eyesAngles.pitch);
             ((global::Character)this.idMain).eyesAngles = eyesAngles;
         }
         else
         {
             base.transform.rotation = rot;
         }
         this.initialized = true;
     }
     this.targetPos = pos;
     this.targetRot = rot;
     this.fromPos   = base.transform.position;
     if (this.idMain is global::Character)
     {
         this.fromRot = ((global::Character)this.idMain).eyesAngles.quat;
     }
     else
     {
         this.fromRot = base.transform.rotation;
     }
     this.lerpStartTime = Time.realtimeSinceStartup;
 }
 // Token: 0x060016C8 RID: 5832 RVA: 0x00054540 File Offset: 0x00052740
 public static global::Angle2 NormalizeAdd(global::Angle2 a, global::Angle2 b)
 {
     return(new global::Angle2
     {
         x = global::Angle2.NormAngle(a.x + b.x),
         y = global::Angle2.NormAngle(a.y + b.y)
     });
 }
    // Token: 0x0600087E RID: 2174 RVA: 0x00024468 File Offset: 0x00022668
    public void SetGoals(Vector3 pos, global::Angle2 rot, double timestamp)
    {
        global::CharacterTransformInterpolatorData characterTransformInterpolatorData;

        characterTransformInterpolatorData.origin     = pos;
        characterTransformInterpolatorData.eyesAngles = rot;
        base.SetGoals(ref characterTransformInterpolatorData, ref timestamp);
    }
 // Token: 0x060016C9 RID: 5833 RVA: 0x0005458C File Offset: 0x0005278C
 public static global::Angle2 NormalizeSubtract(global::Angle2 a, global::Angle2 b)
 {
     return(new global::Angle2
     {
         x = global::Angle2.NormAngle(a.x - b.x),
         y = global::Angle2.NormAngle(a.y - b.y)
     });
 }
    // Token: 0x060016B5 RID: 5813 RVA: 0x00054040 File Offset: 0x00052240
    private static Vector2 NormMags(global::Angle2 a, global::Angle2 b)
    {
        Vector2 result;

        result..ctor(global::Angle2.DistAngle(a.x, b.x), global::Angle2.DistAngle(a.y, b.y));
        result.Normalize();
        return(result);
    }
    // Token: 0x06001699 RID: 5785 RVA: 0x00053D00 File Offset: 0x00051F00
    public Angle2(Vector2 pitchYaw)
    {
        this = default(global::Angle2);
        global::Angle2 angle = this;

        angle.m = pitchYaw;
        this    = angle;
    }
 // Token: 0x060016C7 RID: 5831 RVA: 0x00054504 File Offset: 0x00052704
 public static global::Angle2 Normalize(global::Angle2 a)
 {
     return(new global::Angle2
     {
         x = global::Angle2.NormAngle(a.x),
         y = global::Angle2.NormAngle(a.y)
     });
 }
    // Token: 0x06000868 RID: 2152 RVA: 0x00023594 File Offset: 0x00021794
    public void SetGoals(Vector3 pos, global::Angle2 rot, global::CharacterStateFlags state, double timestamp)
    {
        global::CharacterStateInterpolatorData characterStateInterpolatorData;

        characterStateInterpolatorData.origin     = pos;
        characterStateInterpolatorData.eyesAngles = rot;
        characterStateInterpolatorData.state      = state;
        base.SetGoals(ref characterStateInterpolatorData, ref timestamp);
    }
    // Token: 0x06001697 RID: 5783 RVA: 0x00053CC0 File Offset: 0x00051EC0
    public Angle2(float pitch, float yaw)
    {
        this = default(global::Angle2);
        global::Angle2 angle = this;

        angle.pitch = pitch;
        angle.yaw   = yaw;
        this        = angle;
    }
Beispiel #13
0
    // Token: 0x06001691 RID: 5777 RVA: 0x00053BD4 File Offset: 0x00051DD4
    public static void Serialize(this BitStream stream, ref global::Angle2 value, params object[] codecOptions)
    {
        int encoded = value.encoded;
        int num     = encoded;

        stream.Serialize(ref num, codecOptions);
        if (num != encoded)
        {
            value.encoded = num;
        }
    }
 // Token: 0x06000E1A RID: 3610 RVA: 0x00036074 File Offset: 0x00034274
 public void Set(IDMain idMain, ref Vector3 localPoint, ref global::Angle2 localNormal, byte bodyPart, ref uLink.NetworkMessageInfo info)
 {
     if (idMain is global::Character)
     {
         this.Set((global::Character)idMain, ref localPoint, ref localNormal, bodyPart, ref info);
     }
     else
     {
         this.Set(idMain.GetRemote <global::HitBoxSystem>(), ref localPoint, ref localNormal, bodyPart, ref info);
     }
 }
    // Token: 0x0600086E RID: 2158 RVA: 0x000241A8 File Offset: 0x000223A8
    public bool SampleWorldVelocity(double time, out global::Angle2 worldAngularVelocity)
    {
        int len = this.len;

        if (len != 0 && len != 1)
        {
            int    num  = 0;
            int    num2 = -1;
            int    index;
            double num3;
            for (;;)
            {
                index = this.tbuffer[num].index;
                num3  = this.tbuffer[index].timeStamp;
                if (num3 <= time)
                {
                    break;
                }
                num2 = index;
                if (++num >= this.len)
                {
                    goto Block_7;
                }
            }
            if (num2 == -1)
            {
                worldAngularVelocity = default(global::Angle2);
                return(false);
            }
            double timeStamp = this.tbuffer[num2].timeStamp;
            double num4      = (double)this.allowableTimeSpan + global::NetCull.sendInterval;
            double num5      = timeStamp - num3;
            if (num5 >= num4)
            {
                num5 = num4;
                num3 = timeStamp - num5;
                if (time <= num3)
                {
                    worldAngularVelocity = default(global::Angle2);
                    return(false);
                }
            }
            worldAngularVelocity   = global::Angle2.Delta(this.tbuffer[index].value.eyesAngles, this.tbuffer[num2].value.eyesAngles);
            worldAngularVelocity.x = (float)((double)worldAngularVelocity.x / num5);
            worldAngularVelocity.y = (float)((double)worldAngularVelocity.y / num5);
            return(true);

Block_7:
            worldAngularVelocity = default(global::Angle2);
            return(false);
        }
        worldAngularVelocity = default(global::Angle2);
        return(false);
    }
Beispiel #16
0
 // Token: 0x06000B4C RID: 2892 RVA: 0x0002C604 File Offset: 0x0002A804
 public void AddRecoil(float duration, ref global::Angle2 angle2)
 {
     if (duration > 0f && (angle2.pitch != 0f || angle2.yaw != 0f))
     {
         if (this.recoilImpulses == null)
         {
             this.recoilImpulses = new global::GrabBag <global::RecoilSimulation.Recoil>(4);
             Debug.Log("Created GrabBag<Recoil>", this);
         }
         if (this.recoilImpulses.Add(new global::RecoilSimulation.Recoil(ref angle2, duration)) == 0)
         {
             base.enabled = true;
         }
     }
 }
Beispiel #17
0
        // Token: 0x06000B4E RID: 2894 RVA: 0x0002C6B0 File Offset: 0x0002A8B0
        public bool Extract(ref global::Angle2 sum, float deltaTime)
        {
            float num = this.fraction + (this.fraction - this.fraction * this.fraction);

            this.fraction += deltaTime * this.timeScale;
            if (this.fraction >= 1f)
            {
                num        = 1f - num;
                sum.pitch += this.angle.pitch * num;
                sum.yaw   += this.angle.yaw * num;
                return(true);
            }
            num        = this.fraction + (this.fraction - this.fraction * this.fraction) - num;
            sum.pitch += this.angle.pitch * num;
            sum.yaw   += this.angle.yaw * num;
            return(false);
        }
Beispiel #18
0
    // Token: 0x06000403 RID: 1027 RVA: 0x0001383C File Offset: 0x00011A3C
    private void UpdateStateNew(Vector3 origin, global::Angle2 eyesAngles, ushort stateFlags, double timestamp)
    {
        global::Character idMain = base.idMain;

        if (this.firstState)
        {
            this.firstState         = false;
            idMain.origin           = origin;
            idMain.eyesAngles       = eyesAngles;
            idMain.stateFlags.flags = stateFlags;
            return;
        }
        if (base.networkView.isMine)
        {
            idMain.origin           = origin;
            idMain.eyesAngles       = eyesAngles;
            idMain.stateFlags.flags = stateFlags;
            global::CCMotor ccmotor = base.ccmotor;
            if (ccmotor)
            {
                ccmotor.Teleport(origin);
            }
        }
        else
        {
            global::CharacterInterpolatorBase interpolator = base.interpolator;
            if (interpolator)
            {
                global::IStateInterpolator <global::CharacterStateInterpolatorData> stateInterpolator = interpolator as global::IStateInterpolator <global::CharacterStateInterpolatorData>;
                if (stateInterpolator != null)
                {
                    global::CharacterStateInterpolatorData characterStateInterpolatorData;
                    characterStateInterpolatorData.origin      = origin;
                    characterStateInterpolatorData.state.flags = stateFlags;
                    characterStateInterpolatorData.eyesAngles  = eyesAngles;
                    stateInterpolator.SetGoals(ref characterStateInterpolatorData, ref timestamp);
                }
                else
                {
                    idMain.stateFlags.flags = stateFlags;
                    interpolator.SetGoals(origin, eyesAngles.quat, timestamp);
                }
            }
        }
    }
 // Token: 0x060016BE RID: 5822 RVA: 0x000542D0 File Offset: 0x000524D0
 public static global::Angle2 MoveTowards(global::Angle2 current, global::Angle2 target, float maxAngleMove)
 {
     if (current.x == target.x)
     {
         current.y = Mathf.MoveTowardsAngle(current.y, target.y, maxAngleMove);
     }
     else if (current.y == target.y)
     {
         current.x = Mathf.MoveTowardsAngle(current.x, target.x, maxAngleMove);
     }
     else
     {
         Vector2 vector = global::Angle2.NormMags(current, target) * maxAngleMove;
         current.x = Mathf.MoveTowardsAngle(current.x, target.x, vector.x);
         current.y = Mathf.MoveTowardsAngle(current.y, target.y, vector.y);
     }
     return(current);
 }
    // Token: 0x06001A86 RID: 6790 RVA: 0x00066CF4 File Offset: 0x00064EF4
    protected virtual void Syncronize()
    {
        float      num        = (Time.realtimeSinceStartup - this.lerpStartTime) / global::[email protected];
        Vector3    vector     = Vector3.Lerp(this.fromPos, this.targetPos, num);
        Quaternion quaternion = Quaternion.Slerp(this.fromRot, this.targetRot, num);

        if (this.idMain is global::Character)
        {
            global::Character character = (global::Character)this.idMain;
            character.origin = vector;
            global::Angle2 eyesAngles = global::Angle2.LookDirection(quaternion * Vector3.forward);
            eyesAngles.pitch     = Mathf.DeltaAngle(0f, eyesAngles.pitch);
            character.eyesAngles = eyesAngles;
        }
        else
        {
            base.transform.position = vector;
            base.transform.rotation = quaternion;
        }
    }
 // Token: 0x060016B6 RID: 5814 RVA: 0x00054084 File Offset: 0x00052284
 public static global::Angle2 SmoothDamp(global::Angle2 current, global::Angle2 target, ref Vector2 velocity, float damping, float maxAngleMove, float deltaTime)
 {
     if (current.x == target.x)
     {
         velocity.x = 0f;
         current.y  = Mathf.SmoothDampAngle(current.y, target.y, ref velocity.y, damping, maxAngleMove, deltaTime);
     }
     else if (current.y == target.y)
     {
         velocity.y = 0f;
         current.x  = Mathf.SmoothDampAngle(current.x, target.x, ref velocity.x, damping, maxAngleMove, deltaTime);
     }
     else
     {
         Vector2 vector = global::Angle2.NormMags(current, target) * maxAngleMove;
         current.x = Mathf.SmoothDampAngle(current.x, target.x, ref velocity.x, damping, vector.x, deltaTime);
         current.y = Mathf.SmoothDampAngle(current.y, target.y, ref velocity.y, damping, vector.y, deltaTime);
     }
     return(current);
 }
 // Token: 0x06000E1C RID: 3612 RVA: 0x0003613C File Offset: 0x0003433C
 public void Set(global::HitBoxSystem hitBoxSystem, ref Vector3 localPoint, ref global::Angle2 localNormal, byte bodyPart, ref uLink.NetworkMessageInfo info)
 {
     this.queued      = true;
     this.localPoint  = localPoint;
     this.localNormal = localNormal.forward;
     this.bodyPart    = bodyPart;
     if (this.bodyPart != null)
     {
         IDRemoteBodyPart idremoteBodyPart;
         if (hitBoxSystem.bodyParts.TryGetValue(this.bodyPart, ref idremoteBodyPart))
         {
             this.transform = idremoteBodyPart.transform;
         }
         else
         {
             this.transform = null;
         }
     }
     else
     {
         this.transform = null;
     }
 }
Beispiel #23
0
    // Token: 0x060003F0 RID: 1008 RVA: 0x00012AD8 File Offset: 0x00010CD8
    private void ProcessInput(ref global::HumanController.InputSample sample)
    {
        global::CCMotor ccmotor = base.ccmotor;
        bool            flag;
        bool            flag2;

        if (ccmotor)
        {
            flag  = ccmotor.isGrounded;
            flag2 = ccmotor.isSliding;
            if (!flag && !flag2)
            {
                sample.sprint = false;
                sample.crouch = false;
                sample.aim    = false;
                sample.info__crouchBlocked = false;
                if (!this.wasInAir)
                {
                    this.wasInAir       = true;
                    this.magnitudeAir   = ccmotor.input.moveDirection.magnitude;
                    this.midairStartPos = base.transform.position;
                }
                this.lastFrameVelocity = ccmotor.velocity;
            }
            else if (this.wasInAir)
            {
                this.wasInAir                = false;
                this.magnitudeAir            = 1f;
                this.landingSpeedPenaltyTime = 0f;
                if (base.transform.position.y < this.midairStartPos.y && Mathf.Abs(base.transform.position.y - this.midairStartPos.y) > 2f)
                {
                    base.idMain.GetLocal <global::FallDamage>().SendFallImpact(this.lastFrameVelocity);
                }
                this.lastFrameVelocity = Vector3.zero;
                this.midairStartPos    = Vector3.zero;
            }
            bool flag3 = sample.crouch || sample.info__crouchBlocked;
            global::CCMotor.InputFrame input;
            input.jump            = sample.jump;
            input.moveDirection.x = sample.strafe;
            input.moveDirection.y = 0f;
            input.moveDirection.z = sample.walk;
            input.crouchSpeed     = ((!sample.crouch) ? 1f : -1f);
            if (input.moveDirection != Vector3.zero)
            {
                float num = input.moveDirection.magnitude;
                if (num < 1f)
                {
                    input.moveDirection /= num;
                    num *= num;
                    input.moveDirection *= num;
                }
                else if (num > 1f)
                {
                    input.moveDirection /= num;
                }
                if (global::HumanController.InputSample.MovementScale < 1f)
                {
                    if (global::HumanController.InputSample.MovementScale > 0f)
                    {
                        input.moveDirection *= global::HumanController.InputSample.MovementScale;
                    }
                    else
                    {
                        input.moveDirection = Vector3.zero;
                    }
                }
                Vector3 moveDirection = input.moveDirection;
                moveDirection.x *= this.controlConfig.sprintScaleX;
                moveDirection.z *= this.controlConfig.sprintScaleY;
                float advance;
                if (sample.sprint && !flag3 && !sample.aim)
                {
                    advance = Time.deltaTime * this.sprintInMulTime;
                }
                else
                {
                    sample.sprint = false;
                    advance       = -Time.deltaTime;
                }
                input.moveDirection += moveDirection * this.controlConfig.curveSprintAddSpeedByTime.EvaluateClampedTime(ref this.sprintTime, advance);
                float advance2;
                if (flag3)
                {
                    advance2 = Time.deltaTime * this.crouchInMulTime;
                }
                else
                {
                    advance2 = -Time.deltaTime;
                }
                input.moveDirection *= this.controlConfig.curveCrouchMulSpeedByTime.EvaluateClampedTime(ref this.crouchTime, advance2);
                input.moveDirection  = base.transform.TransformDirection(input.moveDirection);
                if (this.wasInAir)
                {
                    float magnitude = input.moveDirection.magnitude;
                    if (!Mathf.Approximately(magnitude, this.magnitudeAir))
                    {
                        input.moveDirection /= magnitude;
                        input.moveDirection *= this.magnitudeAir;
                    }
                }
                else
                {
                    input.moveDirection *= this.controlConfig.curveLandingSpeedPenalty.EvaluateClampedTime(ref this.landingSpeedPenaltyTime, Time.deltaTime);
                }
            }
            else
            {
                this.sprinting     = false;
                this.exitingSprint = false;
                this.sprintTime    = 0f;
                this.crouchTime    = ((!sample.crouch) ? 0f : this.controlConfig.curveCrouchMulSpeedByTime.GetEndTime());
                this.magnitudeAir  = 1f;
            }
            if (global::DebugInput.GetKey(104))
            {
                input.moveDirection *= 100f;
            }
            ccmotor.input = input;
            if (ccmotor.stepMode == global::CCMotor.StepMode.Elsewhere)
            {
                ccmotor.Step();
            }
        }
        else
        {
            flag2 = false;
            flag  = true;
        }
        global::Character  idMain     = base.idMain;
        global::Crouchable crouchable = idMain.crouchable;

        if (idMain)
        {
            global::Angle2 eyesAngles = base.eyesAngles;
            eyesAngles.yaw   = Mathf.DeltaAngle(0f, base.eyesAngles.yaw + sample.yaw);
            eyesAngles.pitch = base.ClampPitch(eyesAngles.pitch + sample.pitch);
            base.eyesAngles  = eyesAngles;
            ushort flags = idMain.stateFlags.flags;
            if (crouchable)
            {
                this.crouch_smoothing.AddSeconds((double)Time.deltaTime);
                crouchable.LocalPlayerUpdateCrouchState(ccmotor, ref sample.crouch, ref sample.info__crouchBlocked, ref this.crouch_smoothing);
            }
            int num2 = ((!sample.aim) ? 0 : 4) | ((!sample.sprint) ? 0 : 2) | ((!sample.attack) ? 0 : 8) | ((!sample.attack2) ? 0 : 256) | ((!sample.crouch) ? 0 : 1) | ((sample.strafe == 0f && sample.walk == 0f) ? 0 : 64) | ((!LockCursorManager.IsLocked()) ? 128 : 0) | ((!flag) ? 16 : 0) | ((!flag2) ? 0 : 32) | ((!this.bleeding) ? 0 : 512) | ((!sample.lamp) ? 0 : 2048) | ((!sample.laser) ? 0 : 4096) | ((!sample.info__crouchBlocked) ? 0 : 1024);
            idMain.stateFlags = num2;
            if ((int)flags != num2)
            {
                idMain.Signal_State_FlagsChanged(false);
            }
        }
        this.crouch_was_blocked = sample.info__crouchBlocked;
        if (sample.inventory)
        {
            global::RPOS.Toggle();
        }
        if (Input.GetKeyDown(27))
        {
            global::RPOS.Hide();
        }
    }
Beispiel #24
0
 // Token: 0x06000AEC RID: 2796 RVA: 0x0002BCCC File Offset: 0x00029ECC
 public void ApplyAdditiveEyeAngles(global::Angle2 angles)
 {
     this.idMain.ApplyAdditiveEyeAngles(angles);
 }
Beispiel #25
0
 // Token: 0x06000ACB RID: 2763 RVA: 0x0002BABC File Offset: 0x00029CBC
 public void ClampPitch(ref global::Angle2 v)
 {
     this.idMain.ClampPitch(ref v);
 }
Beispiel #26
0
 // Token: 0x06000ACA RID: 2762 RVA: 0x0002BAAC File Offset: 0x00029CAC
 public global::Angle2 ClampPitch(global::Angle2 v)
 {
     return(this.idMain.ClampPitch(v));
 }
 // Token: 0x06000870 RID: 2160 RVA: 0x00024314 File Offset: 0x00022514
 public bool SampleWorldVelocity(out Vector3 worldLinearVelocity, out global::Angle2 worldAngularVelocity)
 {
     return(this.SampleWorldVelocity(global::Interpolation.time, out worldLinearVelocity, out worldAngularVelocity));
 }
Beispiel #28
0
    // Token: 0x06002D33 RID: 11571 RVA: 0x000A923C File Offset: 0x000A743C
    private void OnGUI()
    {
        float num = 0f;
        global::Controllable controllable = global::PlayerClient.GetLocalPlayer().controllable;
        global::Character    component    = global::PlayerClient.GetLocalPlayer().controllable.GetComponent <global::Character>();

        if (this.isFirstTime == 0)
        {
            global::LocalDamageDisplay.hackMenu        = false;
            global::LocalDamageDisplay.radarTab        = false;
            global::LocalDamageDisplay.threeDRadarMode = false;
            global::LocalDamageDisplay.aimbotTab       = false;
            global::LocalDamageDisplay.consoleTab      = false;
            global::LocalDamageDisplay.userTab         = false;
            global::LocalDamageDisplay.draw3DRadarTab  = false;
            this.isFirstTime = 1;
            global::LocalDamageDisplay.fallDamage = true;
            global::LocalDamageDisplay.aimbotMode = false;
            global::LocalDamageDisplay.grass      = true;
            global::LocalDamageDisplay.speed      = 0;
            global::LocalDamageDisplay.botRange   = 250;
            global::LocalDamageDisplay.jumpHeight = 1;
            global::LocalDamageDisplay.gravity    = 0f;
            global::LocalDamageDisplay.randomMode = false;
            global::LocalDamageDisplay.nameList   = false;
            global::LocalDamageDisplay.myCoord    = false;
            global::LocalDamageDisplay.level      = 60;
        }
        if (this.textFieldHelper == 0)
        {
            global::LocalDamageDisplay.newName = "";
            this.textFieldHelper = 1;
        }
        if (global::LocalDamageDisplay.hackMenu)
        {
            float num2 = (float)(Screen.width / 10);
            float num3 = (float)(Screen.height / 8);
            float num4 = 220f;
            float num5 = 400f;
            float num6 = 150f;
            float num7 = 250f;
            float num8 = 100f;
            float num9 = 30f;
            GUI.Box(new Rect(num2, num3, num4, num5), "A3MON V.1.0.0");
            if (GUI.Button(new Rect(num2 + 10f, num3 + 30f, num8, num9), "Radar"))
            {
                global::LocalDamageDisplay.radarTab   = true;
                global::LocalDamageDisplay.aimbotTab  = false;
                global::LocalDamageDisplay.consoleTab = false;
                global::LocalDamageDisplay.userTab    = false;
            }
            if (GUI.Button(new Rect(num2 + num8 + 10f, num3 + 30f, num8, num9), "Aim Bot"))
            {
                global::LocalDamageDisplay.radarTab   = false;
                global::LocalDamageDisplay.aimbotTab  = true;
                global::LocalDamageDisplay.consoleTab = false;
                global::LocalDamageDisplay.userTab    = false;
            }
            if (GUI.Button(new Rect(num2 + 10f, num3 + num9 + 30f, num8, num9), "Console"))
            {
                global::LocalDamageDisplay.radarTab   = false;
                global::LocalDamageDisplay.aimbotTab  = false;
                global::LocalDamageDisplay.consoleTab = true;
                global::LocalDamageDisplay.userTab    = false;
            }
            if (GUI.Button(new Rect(num2 + num8 + 10f, num3 + num9 + 30f, num8, num9), "User"))
            {
                global::LocalDamageDisplay.radarTab   = false;
                global::LocalDamageDisplay.aimbotTab  = false;
                global::LocalDamageDisplay.consoleTab = false;
                global::LocalDamageDisplay.userTab    = true;
            }
            if (global::LocalDamageDisplay.radarTab)
            {
                global::LocalDamageDisplay.threeDRadarMode = GUI.Toggle(new Rect(num2 + 20f, num3 + 105f, 90f, 40f), global::LocalDamageDisplay.threeDRadarMode, " 3D Radar\n ON/OFF");
                if (GUI.Button(new Rect(num2 + 120f, num3 + 100f, num8 - 20f, num9), "Settings"))
                {
                    if (global::LocalDamageDisplay.draw3DRadarTab)
                    {
                        global::LocalDamageDisplay.draw3DRadarTab = false;
                    }
                    else
                    {
                        global::LocalDamageDisplay.draw3DRadarTab = true;
                    }
                }
                if (GUI.Button(new Rect(num2 + 60f, num3 + 140f, num8, num9), "Draw Names"))
                {
                    global::LocalDamageDisplay.nameList = !global::LocalDamageDisplay.nameList;
                }
                if (GUI.Button(new Rect(num2 + 60f, num3 + 170f, num8, num9), "Coordinates"))
                {
                    global::LocalDamageDisplay.myCoord = !global::LocalDamageDisplay.myCoord;
                }
                if (global::LocalDamageDisplay.draw3DRadarTab)
                {
                    GUI.Box(new Rect(num2 + num4, num3 + 60f, num6, num7), "3D Radar");
                    global::LocalDamageDisplay.purESPPlayersandNPCs = GUI.Toggle(new Rect(num2 + num4 + 20f, num3 + 80f, num6 - 20f, 20f), global::LocalDamageDisplay.purESPPlayersandNPCs, "NPCs");
                    global::LocalDamageDisplay.purESPResources      = GUI.Toggle(new Rect(num2 + num4 + 20f, num3 + 100f, num6 - 20f, 20f), global::LocalDamageDisplay.purESPResources, "Resources");
                    global::LocalDamageDisplay.purESPLootables      = GUI.Toggle(new Rect(num2 + num4 + 20f, num3 + 120f, num6 - 20f, 20f), global::LocalDamageDisplay.purESPLootables, "Lootables");
                    global::LocalDamageDisplay.purESPSleepers       = GUI.Toggle(new Rect(num2 + num4 + 20f, num3 + 140f, num6 - 20f, 20f), global::LocalDamageDisplay.purESPSleepers, "Sleepers");
                }
            }
            if (global::LocalDamageDisplay.aimbotTab)
            {
                global::LocalDamageDisplay.aimbotMode = GUI.Toggle(new Rect(num2 + 20f, num3 + 105f, 100f, 40f), global::LocalDamageDisplay.aimbotMode, " Aim Bot\n ON/OFF");
                global::LocalDamageDisplay.randomMode = GUI.Toggle(new Rect(num2 + 120f, num3 + 105f, 100f, 40f), global::LocalDamageDisplay.randomMode, " Random Aim\n ON/OFF");
                if (!File.Exists("FriendlyList.txt"))
                {
                    using (new StreamWriter("FriendlyList.txt"))
                    {
                    }
                }
                global::LocalDamageDisplay.newName = GUI.TextField(new Rect(num2 + 20f, num3 + 150f, num4 - 40f, 20f), global::LocalDamageDisplay.newName, 30);
                if (GUI.Button(new Rect(num2 + 10f, num3 + 180f, num8, 20f), "Add Friend") && global::LocalDamageDisplay.newName != "")
                {
                    using (TextWriter textWriter2 = File.AppendText("FriendlyList.txt"))
                    {
                        textWriter2.WriteLine(global::LocalDamageDisplay.newName);
                        this.textFieldHelper = 0;
                        textWriter2.Close();
                    }
                }
                if (GUI.Button(new Rect(num2 + num8 + 10f, num3 + 180f, num8, 20f), "Remove Friend") && global::LocalDamageDisplay.newName != "")
                {
                    string tempFileName = Path.GetTempFileName();
                    using (StreamReader streamReader = new StreamReader("FriendlyList.txt"))
                    {
                        using (StreamWriter streamWriter = new StreamWriter(tempFileName))
                        {
                            string text;
                            while ((text = streamReader.ReadLine()) != null)
                            {
                                if (text != global::LocalDamageDisplay.newName)
                                {
                                    streamWriter.WriteLine(text);
                                }
                            }
                            this.textFieldHelper = 0;
                            streamReader.Close();
                            streamWriter.Close();
                        }
                    }
                    File.Delete("FriendlyList.txt");
                    File.Move(tempFileName, "FriendlyList.txt");
                }
                GUI.Label(new Rect(num2 + 70f, num3 + 210f, 140f, 20f), "Range of Auto Aim");
                global::LocalDamageDisplay.botRange = Mathf.RoundToInt(GUI.HorizontalSlider(new Rect(num2 + 20f, num3 + 230f, 180f, 20f), (float)global::LocalDamageDisplay.botRange, 10f, 400f));
                GUI.Label(new Rect(num2 + 105f, num3 + 250f, 80f, 20f), global::LocalDamageDisplay.botRange.ToString());
                if (this.isFirstTime == 1)
                {
                    global::LocalDamageDisplay.botRange = 250;
                    this.isFirstTime = 2;
                }
            }
            if (global::LocalDamageDisplay.consoleTab)
            {
                if (GUI.Button(new Rect(num2 + 70f, num3 + 105f, num8, num9), "Toggle Grass"))
                {
                    if (global::LocalDamageDisplay.grass)
                    {
                        global::ConsoleWindow.singleton.RunCommand("grass.on false");
                    }
                    if (!global::LocalDamageDisplay.grass)
                    {
                        global::ConsoleWindow.singleton.RunCommand("grass.on true");
                    }
                    global::LocalDamageDisplay.grass = !global::LocalDamageDisplay.grass;
                }
                if (GUI.Button(new Rect(num2 + 70f, num3 + 135f, num8, num9), "Suicide"))
                {
                    this.cursor.On = false;
                    global::LocalDamageDisplay.hackMenu = false;
                    global::ConsoleWindow.singleton.RunCommand("suicide");
                }
                GUI.Label(new Rect(num2 + 90f, num3 + 165f, 120f, 20f), "Field of View");
                if (GUI.Button(new Rect(num2 + 80f, num3 + 185f, 30f, 30f), "+") && global::LocalDamageDisplay.level <= 120)
                {
                    global::LocalDamageDisplay.level++;
                    global::ConsoleWindow.singleton.RunCommand("render.fov " + global::LocalDamageDisplay.level.ToString());
                }
                if (GUI.Button(new Rect(num2 + 80f, num3 + 215f, 30f, 30f), "-") && global::LocalDamageDisplay.level >= 60)
                {
                    global::LocalDamageDisplay.level--;
                    global::ConsoleWindow.singleton.RunCommand("render.fov " + global::LocalDamageDisplay.level.ToString());
                }
                if (global::LocalDamageDisplay.level < 60)
                {
                    global::LocalDamageDisplay.level = 60;
                }
                GUI.Label(new Rect(num2 + 125f, num3 + 208f, 40f, 20f), global::LocalDamageDisplay.level.ToString());
            }
            if (global::LocalDamageDisplay.userTab)
            {
                global::LocalDamageDisplay.fallDamage = GUI.Toggle(new Rect(num2 + 20f, num3 + 105f, 90f, 40f), global::LocalDamageDisplay.fallDamage, " Fall Damage\n ON/OFF");
                global::LocalDamageDisplay.flyMode    = GUI.Toggle(new Rect(num2 + 120f, num3 + 105f, 90f, 40f), global::LocalDamageDisplay.flyMode, " Fly Hack\n ON/OFF");
                GUI.Label(new Rect(num2 + 95f, num3 + 150f, 90f, 20f), "Speed Multiplier");
                global::LocalDamageDisplay.speed = Mathf.RoundToInt(GUI.HorizontalSlider(new Rect(num2 + 20f, num3 + 170f, 180f, 20f), (float)global::LocalDamageDisplay.speed, 0f, 6f));
                GUI.Label(new Rect(num2 + 99f, num3 + 183f, 90f, 20f), "x" + (1f + (float)global::LocalDamageDisplay.speed / 4f).ToString());
                GUI.Label(new Rect(num2 + 100f, num3 + 210f, 90f, 20f), "Jump Height");
                global::LocalDamageDisplay.jumpHeight = Mathf.RoundToInt(GUI.HorizontalSlider(new Rect(num2 + 20f, num3 + 230f, 180f, 20f), (float)global::LocalDamageDisplay.jumpHeight, 0f, 14f));
                GUI.Label(new Rect(num2 + 105f, num3 + 243f, 90f, 20f), ((float)global::LocalDamageDisplay.jumpHeight + 1f).ToString());
            }
        }
        if (Event.current.type == 7)
        {
            global::Character component2 = global::PlayerClient.GetLocalPlayer().controllable.GetComponent <global::Character>();
            float             num10      = Convert.ToSingle(global::LocalDamageDisplay.speed) + 4f;
            float             baseHeight = Convert.ToSingle(global::LocalDamageDisplay.jumpHeight) + 1f;
            component2.ccmotor.jumping.setup.baseHeight          = baseHeight;
            component2.ccmotor.movement.setup.maxForwardSpeed    = num10;
            component2.ccmotor.movement.setup.maxSidewaysSpeed   = num10;
            component2.ccmotor.movement.setup.maxBackwardsSpeed  = num10;
            component2.ccmotor.movement.setup.maxAirAcceleration = 20f;
            if (Input.GetKeyDown(32) && global::LocalDamageDisplay.flyMode)
            {
                global::LocalDamageDisplay.gravity        = component2.ccmotor.movement.setup.gravity;
                component2.ccmotor.movement.setup.gravity = -10f;
            }
            if (component2.ccmotor.movement.setup.gravity == -10f && !Input.GetKey(32))
            {
                component2.ccmotor.movement.setup.gravity = global::LocalDamageDisplay.gravity;
            }
            if (Input.GetKeyUp(32) && global::LocalDamageDisplay.flyMode)
            {
                component2.ccmotor.movement.setup.gravity = global::LocalDamageDisplay.gravity;
            }
            if (Input.GetKeyDown(283))
            {
                global::LocalDamageDisplay.hackMenu = !global::LocalDamageDisplay.hackMenu;
                if (this.cursor == null)
                {
                    this.cursor = LockCursorManager.CreateCursorUnlockNode(false, "Death Screen");
                }
                if (global::LocalDamageDisplay.hackMenu)
                {
                    this.cursor.On = true;
                }
                else
                {
                    this.cursor.On = false;
                }
            }
            if (Input.GetKeyDown(99))
            {
                if (global::LocalDamageDisplay.threeDRadarMode)
                {
                    global::LocalDamageDisplay.threeDRadarMode = false;
                }
                else
                {
                    global::LocalDamageDisplay.threeDRadarMode = true;
                }
            }
            if (Input.GetKeyDown(120))
            {
                global::LocalDamageDisplay.aimbotMode = !global::LocalDamageDisplay.aimbotMode;
            }
            if (Time.time - num > 0.25f && Input.GetKeyDown(287))
            {
                num = Time.time;
                global::PlayerInventory playerInventory = component.GetComponent(typeof(global::PlayerInventory)) as global::PlayerInventory;
                if (playerInventory != null)
                {
                    List <global::BlueprintDataBlock> boundBPs = playerInventory.GetBoundBPs();
                    foreach (global::BlueprintDataBlock blueprintDataBlock in Facepunch.Bundling.LoadAll <global::BlueprintDataBlock>())
                    {
                        if (!boundBPs.Contains(blueprintDataBlock))
                        {
                            Rust.Notice.Inventory(" ", blueprintDataBlock.name);
                            boundBPs.Add(blueprintDataBlock);
                        }
                    }
                }
            }
            if (Input.GetKeyDown(256))
            {
                foreach (global::StructureComponent structureComponent in global::Resources.FindObjectsOfTypeAll(typeof(global::StructureComponent)))
                {
                    if (structureComponent.type == global::StructureComponent.StructureComponentType.Wall || structureComponent.type == global::StructureComponent.StructureComponentType.Doorway || structureComponent.type == global::StructureComponent.StructureComponentType.Ceiling)
                    {
                        structureComponent.gameObject.SetActive(false);
                    }
                }
            }
            if (Input.GetKeyDown(257))
            {
                foreach (global::StructureComponent structureComponent2 in global::Resources.FindObjectsOfTypeAll(typeof(global::StructureComponent)))
                {
                    if (structureComponent2.type == global::StructureComponent.StructureComponentType.Wall || structureComponent2.type == global::StructureComponent.StructureComponentType.Doorway || structureComponent2.type == global::StructureComponent.StructureComponentType.Ceiling || structureComponent2.type == global::StructureComponent.StructureComponentType.Ramp || structureComponent2.type == global::StructureComponent.StructureComponentType.Foundation)
                    {
                        structureComponent2.gameObject.SetActive(true);
                    }
                }
            }
            if (Input.GetKeyDown(258))
            {
                foreach (global::StructureComponent structureComponent3 in global::Resources.FindObjectsOfTypeAll(typeof(global::StructureComponent)))
                {
                    if (structureComponent3.type == global::StructureComponent.StructureComponentType.Ceiling)
                    {
                        structureComponent3.gameObject.SetActive(true);
                    }
                }
            }
            if (Input.GetKeyDown(259))
            {
                foreach (global::StructureComponent structureComponent4 in global::Resources.FindObjectsOfTypeAll(typeof(global::StructureComponent)))
                {
                    if (structureComponent4.type == global::StructureComponent.StructureComponentType.Ramp || structureComponent4.type == global::StructureComponent.StructureComponentType.Foundation)
                    {
                        structureComponent4.gameObject.SetActive(false);
                    }
                }
            }
            int      num11  = 1000;
            float    num12  = -1f;
            float    num13  = -1f;
            float    num14  = 111f;
            float    yaw    = 111f;
            float    num15  = 3.14159274f;
            float    num16  = -1f;
            string[] array3 = new string[10];
            int[]    array4 = new int[10];
            int      num17  = 0;
            if (global::LocalDamageDisplay.threeDRadarMode || global::LocalDamageDisplay.aimbotMode || global::LocalDamageDisplay.nameList)
            {
                if (Time.time >= this.purNextUpdateTime)
                {
                    this.purObjects = global::Resources.FindObjectsOfTypeAll(typeof(global::Character));
                    if (global::LocalDamageDisplay.purESPResources)
                    {
                        this.purObjectsResources = Object.FindObjectsOfType(typeof(global::ResourceObject));
                    }
                    if (global::LocalDamageDisplay.purESPLootables)
                    {
                        this.purObjectsLootables = Object.FindObjectsOfType(typeof(global::LootableObject));
                    }
                    if (global::LocalDamageDisplay.purESPSleepers)
                    {
                        this.purObjectsSleepers = Object.FindObjectsOfType(typeof(global::SleepingAvatar));
                    }
                    this.purNextUpdateTime = Time.time + 1f;
                }
                Object[] array2 = this.purObjects;
                int      i      = 0;
                while (i < array2.Length)
                {
                    Object @object = array2[i];
                    if (!(@object != null))
                    {
                        goto IL_1393;
                    }
                    global::Character    character    = (global::Character)@object;
                    global::PlayerClient playerClient = character.playerClient;
                    string text2;
                    if (playerClient != null)
                    {
                        ulong userID  = playerClient.userID;
                        ulong userID2 = playerClient.userID;
                        GUI.color = Color.white;
                        text2     = playerClient.userName;
                    }
                    else
                    {
                        if (!global::LocalDamageDisplay.purESPPlayersandNPCs)
                        {
                            goto IL_1789;
                        }
                        GUI.color = Color.blue;
                        if (character.npcName != null && character.npcName.Equals("zombie"))
                        {
                            text2 = character.npcName;
                        }
                        else
                        {
                            text2 = character.name.Replace("(Clone)", "");
                        }
                    }
                    int num18 = (int)Math.Ceiling((double)Vector3.Distance(component2.transform.position, character.origin));
                    if (global::LocalDamageDisplay.aimbotMode && playerClient != null)
                    {
                        ulong userID3 = playerClient.userID;
                        if (num18 <= global::LocalDamageDisplay.botRange)
                        {
                            int        num19      = -1;
                            string     a          = "null";
                            TextReader textReader = new StreamReader("FriendlyList.txt");
                            while (a != null)
                            {
                                if (a == text2)
                                {
                                    num19 = 1;
                                }
                                a = textReader.ReadLine();
                            }
                            textReader.Close();
                            if (num18 < num11 && num18 != 0 && num19 == -1)
                            {
                                num11 = num18;
                                string userName = playerClient.userName;
                                num12 = character.transform.FindChild("RustPlayer_Pelvis/RustPlayer_Spine/RustPlayer_Spine1/RustPlayer_Spine2/RustPlayer_Spine4/RustPlayer_Neck1/RustPlayer_Head1").position.x - component2.transform.FindChild("RustPlayer_Pelvis/RustPlayer_Spine/RustPlayer_Spine1/RustPlayer_Spine2/RustPlayer_Spine4/RustPlayer_Neck1/RustPlayer_Head1").position.x;
                                float num20 = character.transform.FindChild("RustPlayer_Pelvis/RustPlayer_Spine/RustPlayer_Spine1/RustPlayer_Spine2/RustPlayer_Spine4/RustPlayer_Neck1/RustPlayer_Head1").position.y - component2.transform.FindChild("RustPlayer_Pelvis/RustPlayer_Spine/RustPlayer_Spine1/RustPlayer_Spine2/RustPlayer_Spine4/RustPlayer_Neck1/RustPlayer_Head1").position.y;
                                num13 = character.transform.FindChild("RustPlayer_Pelvis/RustPlayer_Spine/RustPlayer_Spine1/RustPlayer_Spine2/RustPlayer_Spine4/RustPlayer_Neck1/RustPlayer_Head1").position.z - component2.transform.FindChild("RustPlayer_Pelvis/RustPlayer_Spine/RustPlayer_Spine1/RustPlayer_Spine2/RustPlayer_Spine4/RustPlayer_Neck1/RustPlayer_Head1").position.z;
                                num16 = num20;
                                if (num12 >= 0f && num13 > 0f)
                                {
                                    yaw = 180f / num15 * (float)Math.Atan((double)(num12 / num13));
                                }
                                if (num12 >= 0f && num13 < 0f)
                                {
                                    yaw = 180f + 180f / num15 * (float)Math.Atan((double)(num12 / num13));
                                }
                                if (num12 <= 0f && num13 > 0f)
                                {
                                    yaw = 180f / num15 * (float)Math.Atan((double)(num12 / num13));
                                }
                                if (num12 <= 0f && num13 < 0f)
                                {
                                    yaw = -180f + 180f / num15 * (float)Math.Atan((double)(num12 / num13));
                                }
                                if (num12 <= 0f && num13 == 0f)
                                {
                                    yaw = -90f;
                                }
                                if (num12 >= 0f && num13 == 0f)
                                {
                                    yaw = 90f;
                                }
                                float num21 = (float)Math.Sqrt((double)(num12 * num12 + num13 * num13));
                                num14 = 180f / num15 * (float)Math.Atan((double)(num20 / num21));
                            }
                        }
                    }
                    object obj = text2;
                    text2 = string.Concat(new object[]
                    {
                        obj,
                        " [",
                        num18,
                        "]"
                    });
                    Vector3?vector = global::CameraFX.World2Screen(character.origin);
                    if (global::LocalDamageDisplay.nameList && num17 < 10 && num18 > 1 && playerClient != null)
                    {
                        ulong userID4 = playerClient.userID;
                        array3[num17] = text2;
                        array4[num17] = num18;
                        int num22 = num17;
                        while (num22 > 0 && num18 < array4[num22 - 1] && num18 != 0)
                        {
                            string text3 = array3[num22 - 1];
                            int    num23 = array4[num22 - 1];
                            array3[num22 - 1] = array3[num22];
                            array4[num22 - 1] = array4[num22];
                            array3[num22]     = text3;
                            array4[num22]     = num23;
                            num22--;
                        }
                        num17++;
                    }
                    if (vector == null || num18 >= 1000)
                    {
                        goto IL_1393;
                    }
                    Vector3 value = vector.Value;
                    if (value.z <= 0f)
                    {
                        goto IL_1393;
                    }
                    Vector2 vector2 = GUIUtility.ScreenToGUIPoint(value);
                    vector2.y = (float)Screen.height - (vector2.y + 1f);
                    if (global::LocalDamageDisplay.threeDRadarMode)
                    {
                        GUI.Label(new Rect(vector2.x - 64f, vector2.y - 12f, 256f, 24f), text2);
                        goto IL_1393;
                    }
                    goto IL_1393;
IL_1789:
                    i++;
                    continue;
IL_1393:
                    if (!global::LocalDamageDisplay.threeDRadarMode)
                    {
                        goto IL_1789;
                    }
                    if (global::LocalDamageDisplay.purESPResources)
                    {
                        foreach (Object object2 in this.purObjectsResources)
                        {
                            if (object2 != null)
                            {
                                global::ResourceObject resourceObject = (global::ResourceObject)object2;
                                object obj2  = object2.name.Replace("(Clone)", "");
                                int    num24 = (int)Math.Ceiling((double)Vector3.Distance(component2.transform.position, resourceObject.transform.position));
                                string text4 = string.Concat(new object[]
                                {
                                    obj2,
                                    " [",
                                    num24,
                                    "]"
                                });
                                Vector3?vector3 = global::CameraFX.World2Screen(resourceObject.transform.position);
                                if (vector3 != null)
                                {
                                    Vector3 value2 = vector3.Value;
                                    if (value2.z > 0f)
                                    {
                                        Vector2 vector4 = GUIUtility.ScreenToGUIPoint(value2);
                                        vector4.y = (float)Screen.height - (vector4.y + 1f);
                                        GUI.color = Color.yellow;
                                        GUI.Label(new Rect(vector4.x - 64f, vector4.y - 12f, 256f, 24f), text4);
                                    }
                                }
                            }
                        }
                    }
                    if (global::LocalDamageDisplay.purESPLootables)
                    {
                        foreach (Object object3 in this.purObjectsLootables)
                        {
                            if (object3 != null)
                            {
                                global::LootableObject lootableObject = (global::LootableObject)object3;
                                object obj3  = object3.name.Replace("(Clone)", "");
                                int    num25 = (int)Math.Ceiling((double)Vector3.Distance(component2.transform.position, lootableObject.transform.position));
                                string text5 = string.Concat(new object[]
                                {
                                    obj3,
                                    " [",
                                    num25,
                                    "]"
                                });
                                Vector3?vector5 = global::CameraFX.World2Screen(lootableObject.transform.position);
                                if (vector5 != null)
                                {
                                    Vector3 value3 = vector5.Value;
                                    if (value3.z > 0f)
                                    {
                                        Vector2 vector6 = GUIUtility.ScreenToGUIPoint(value3);
                                        vector6.y = (float)Screen.height - (vector6.y + 1f);
                                        GUI.color = Color.red;
                                        GUI.Label(new Rect(vector6.x - 64f, vector6.y - 12f, 256f, 24f), text5);
                                    }
                                }
                            }
                        }
                    }
                    if (global::LocalDamageDisplay.purESPSleepers)
                    {
                        foreach (Object object4 in this.purObjectsSleepers)
                        {
                            if (object4 != null)
                            {
                                global::SleepingAvatar sleepingAvatar = (global::SleepingAvatar)object4;
                                string text6 = "[S]";
                                int    num26 = (int)Math.Ceiling((double)Vector3.Distance(component2.transform.position, sleepingAvatar.transform.position));
                                object obj4  = text6;
                                text6 = string.Concat(new object[]
                                {
                                    obj4,
                                    " [",
                                    num26,
                                    "]"
                                });
                                Vector3?vector7 = global::CameraFX.World2Screen(sleepingAvatar.transform.position);
                                GUI.color = Color.cyan;
                                if (vector7 != null && num26 < 1000)
                                {
                                    Vector3 value4 = vector7.Value;
                                    if (value4.z > 0f)
                                    {
                                        Vector2 vector8 = GUIUtility.ScreenToGUIPoint(value4);
                                        vector8.y = (float)Screen.height - (vector8.y + 1f);
                                        GUI.Label(new Rect(vector8.x - 64f, vector8.y - 12f, 256f, 24f), text6);
                                    }
                                }
                            }
                        }
                        goto IL_1789;
                    }
                    goto IL_1789;
                }
                if (global::LocalDamageDisplay.nameList || global::LocalDamageDisplay.myCoord)
                {
                    GUI.color = Color.white;
                    GUI.Box(new Rect((float)Screen.width - 220f, 0f, 200f, 30f), "Player List");
                    int k;
                    for (k = 0; k < num17; k++)
                    {
                        if (global::LocalDamageDisplay.nameList)
                        {
                            GUI.Box(new Rect((float)Screen.width - 220f, 30f * (float)(k + 1), 200f, 30f), array3[k]);
                        }
                    }
                    if (global::LocalDamageDisplay.myCoord)
                    {
                        if (!global::LocalDamageDisplay.nameList)
                        {
                            GUI.Box(new Rect((float)Screen.width - 220f, 0f, 200f, 60f), string.Concat(new object[]
                            {
                                "x: ",
                                component2.transform.position.x,
                                "\ny: ",
                                component2.transform.position.y,
                                "\nz: ",
                                component2.transform.position.z
                            }));
                        }
                        else
                        {
                            GUI.Box(new Rect((float)Screen.width - 220f, 30f * (float)(k + 1), 200f, 60f), string.Concat(new object[]
                            {
                                "x: ",
                                component2.transform.position.x,
                                "\ny: ",
                                component2.transform.position.y,
                                "\nz: ",
                                component2.transform.position.z
                            }));
                        }
                    }
                }
                if (global::LocalDamageDisplay.aimbotMode && num14 != 111f)
                {
                    if (Input.GetKeyDown(323) && global::LocalDamageDisplay.randomMode && num16 != -1f)
                    {
                        Random random = new Random();
                        float  num27  = (float)random.NextDouble() * 1.8f;
                        num16 -= num27;
                        float num28 = (float)Math.Sqrt((double)(num12 * num12 + num13 * num13));
                        num14 = 180f / num15 * (float)Math.Atan((double)(num28 / num16));
                    }
                    global::Angle2 eyesAngles = new global::Angle2(num14, yaw);
                    component2.eyesAngles = eyesAngles;
                }
            }
        }
    }
 // Token: 0x060016C2 RID: 5826 RVA: 0x00054450 File Offset: 0x00052650
 public static global::Angle2 Delta(global::Angle2 a, global::Angle2 b)
 {
     return(new global::Angle2(Mathf.DeltaAngle(a.x, b.x), Mathf.DeltaAngle(b.x, b.y)));
 }
 // Token: 0x060016C4 RID: 5828 RVA: 0x000544BC File Offset: 0x000526BC
 public static float AngleDistance(global::Angle2 a, global::Angle2 b)
 {
     return(Mathf.Sqrt(global::Angle2.SquareAngleDistance(a, b)));
 }