using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SHADE; namespace SHADE_Scripting { public class ThirdPersonCamera: Script { public float armLength = 4.0f; public float turnSpeedPitch = 0.3f; public float turnSpeedYaw = 0.5f; public float pitchClamp = 45.0f; public ThirdPersonCamera(GameObject go) : base(go) { } protected override void awake() { if(!GetComponent()) { AddComponent(); } if (!GetComponent()) { AddComponent(); } GetComponent().ArmLength = armLength; } protected override void update() { CameraArm arm = GetComponent(); if(arm) { Vector2 vel = Input.GetMouseVelocity(); arm.Pitch -= vel.y * turnSpeedPitch * Time.DeltaTimeF; arm.Yaw += vel.x * turnSpeedYaw * Time.DeltaTimeF; if(arm.Pitch > pitchClamp) { arm.Pitch = pitchClamp; } else if(arm.Pitch < -pitchClamp) { arm.Pitch = -pitchClamp; } } } } }