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; }
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; }
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; }