Beispiel #1
0
    public override void SetAimDirection(Vector3 newAim)
    {
        if (Vector3.op_Equality(newAim, Vector3.get_zero()))
        {
            return;
        }
        AttackEntity attackEntity = this.GetAttackEntity();

        if (Object.op_Implicit((Object)attackEntity))
        {
            newAim = attackEntity.ModifyAIAim(newAim, this.GetAimSwayScalar());
        }
        if (this.isMounted)
        {
            BaseMountable mounted     = this.GetMounted();
            Vector3       eulerAngles = ((Component)mounted).get_transform().get_eulerAngles();
            Quaternion    quaternion1 = Quaternion.LookRotation(newAim, ((Component)mounted).get_transform().get_up());
            Quaternion    quaternion2 = Quaternion.LookRotation(((Component)this).get_transform().InverseTransformDirection(Quaternion.op_Multiply(Quaternion.Euler(((Quaternion) ref quaternion1).get_eulerAngles()), Vector3.get_forward())), ((Component)this).get_transform().get_up());
            Vector3       vector3     = BaseMountable.ConvertVector(((Quaternion) ref quaternion2).get_eulerAngles());
            Quaternion    quaternion3 = Quaternion.LookRotation(((Component)this).get_transform().TransformDirection(Quaternion.op_Multiply(Quaternion.Euler(Mathf.Clamp((float)vector3.x, (float)mounted.pitchClamp.x, (float)mounted.pitchClamp.y), Mathf.Clamp((float)vector3.y, (float)mounted.yawClamp.x, (float)mounted.yawClamp.y), (float)eulerAngles.z), Vector3.get_forward())), ((Component)this).get_transform().get_up());
            newAim = BaseMountable.ConvertVector(((Quaternion) ref quaternion3).get_eulerAngles());
        }
        this.eyes.rotation = this.isMounted ? Quaternion.Slerp(this.eyes.rotation, Quaternion.Euler(newAim), Time.get_smoothDeltaTime() * 70f) : Quaternion.Lerp(this.eyes.rotation, Quaternion.LookRotation(newAim, ((Component)this).get_transform().get_up()), Time.get_deltaTime() * 25f);
        Quaternion rotation = this.eyes.rotation;

        this.viewAngles     = ((Quaternion) ref rotation).get_eulerAngles();
        this.ServerRotation = this.eyes.rotation;
    }
Beispiel #2
0
 public override void SetAimDirection(Vector3 newAim)
 {
     if (!(newAim == Vector3.zero))
     {
         float num = UnityEngine.Time.time - lastAimSetTime;
         lastAimSetTime = UnityEngine.Time.time;
         AttackEntity attackEntity = GetAttackEntity();
         if ((bool)attackEntity)
         {
             newAim = attackEntity.ModifyAIAim(newAim, GetAimSwayScalar());
         }
         if (base.isMounted)
         {
             BaseMountable baseMountable = GetMounted();
             Vector3       eulerAngles   = baseMountable.transform.eulerAngles;
             Quaternion    quaternion    = Quaternion.Euler(Quaternion.LookRotation(newAim, baseMountable.transform.up).eulerAngles);
             Vector3       eulerAngles2  = Quaternion.LookRotation(base.transform.InverseTransformDirection(quaternion * Vector3.forward), base.transform.up).eulerAngles;
             eulerAngles2 = BaseMountable.ConvertVector(eulerAngles2);
             Quaternion quaternion2 = Quaternion.Euler(Mathf.Clamp(eulerAngles2.x, baseMountable.pitchClamp.x, baseMountable.pitchClamp.y), Mathf.Clamp(eulerAngles2.y, baseMountable.yawClamp.x, baseMountable.yawClamp.y), eulerAngles.z);
             newAim = BaseMountable.ConvertVector(Quaternion.LookRotation(base.transform.TransformDirection(quaternion2 * Vector3.forward), base.transform.up).eulerAngles);
         }
         eyes.rotation  = (base.isMounted ? Quaternion.Slerp(eyes.rotation, Quaternion.Euler(newAim), num * 70f) : Quaternion.Lerp(eyes.rotation, Quaternion.LookRotation(newAim, base.transform.up), num * 25f));
         viewAngles     = eyes.rotation.eulerAngles;
         ServerRotation = eyes.rotation;
     }
 }
    public override void SetAimDirection(Vector3 newAim)
    {
        Quaternion quaternion;

        if (newAim == Vector3.zero)
        {
            return;
        }
        AttackEntity attackEntity = base.GetAttackEntity();

        if (attackEntity)
        {
            newAim = attackEntity.ModifyAIAim(newAim, this.GetAimSwayScalar());
        }
        if (base.isMounted)
        {
            BaseMountable mounted = base.GetMounted();
            Vector3       vector3 = mounted.transform.eulerAngles;
            quaternion = Quaternion.LookRotation(newAim, mounted.transform.up);
            Quaternion quaternion1 = Quaternion.Euler(quaternion.eulerAngles);
            Quaternion quaternion2 = Quaternion.LookRotation(base.transform.InverseTransformDirection(quaternion1 * Vector3.forward), base.transform.up);
            Vector3    vector31    = quaternion2.eulerAngles;
            vector31 = BaseMountable.ConvertVector(vector31);
            Quaternion quaternion3 = Quaternion.Euler(Mathf.Clamp(vector31.x, mounted.pitchClamp.x, mounted.pitchClamp.y), Mathf.Clamp(vector31.y, mounted.yawClamp.x, mounted.yawClamp.y), vector3.z);
            Quaternion quaternion4 = Quaternion.LookRotation(base.transform.TransformDirection(quaternion3 * Vector3.forward), base.transform.up);
            newAim = BaseMountable.ConvertVector(quaternion4.eulerAngles);
        }
        this.eyes.rotation  = (base.isMounted ? Quaternion.Slerp(this.eyes.rotation, Quaternion.Euler(newAim), UnityEngine.Time.smoothDeltaTime * 70f) : Quaternion.Lerp(this.eyes.rotation, Quaternion.LookRotation(newAim, base.transform.up), UnityEngine.Time.deltaTime * 25f));
        quaternion          = this.eyes.rotation;
        this.viewAngles     = quaternion.eulerAngles;
        this.ServerRotation = this.eyes.rotation;
    }
Beispiel #4
0
    public virtual void SetAimDirection(Vector3 newAim)
    {
        if (newAim == Vector3.zero)
        {
            return;
        }
        AttackEntity attackEntity = this.GetAttackEntity();

        if (attackEntity)
        {
            newAim = attackEntity.ModifyAIAim(newAim, 1f);
        }
        this.eyes.rotation  = Quaternion.LookRotation(newAim, Vector3.up);
        this.viewAngles     = this.eyes.rotation.eulerAngles;
        this.ServerRotation = this.eyes.rotation;
    }
    public virtual void SetAimDirection(Vector3 newAim)
    {
        if (Vector3.op_Equality(newAim, Vector3.get_zero()))
        {
            return;
        }
        AttackEntity attackEntity = this.GetAttackEntity();

        if (Object.op_Implicit((Object)attackEntity))
        {
            newAim = attackEntity.ModifyAIAim(newAim, 1f);
        }
        this.eyes.rotation = Quaternion.LookRotation(newAim, Vector3.get_up());
        Quaternion rotation = this.eyes.rotation;

        this.viewAngles     = ((Quaternion) ref rotation).get_eulerAngles();
        this.ServerRotation = this.eyes.rotation;
    }