public void Init(FPController fpController, ControllerStateData current) { this.fpController = fpController; this.previous = current; this.target = current; this.lerp.SetValueToMin(); UpdateCurrentState(); }
public virtual void GoToState(ControllerStateData stateData) { states.Traverser.GoToState(stateData); headBobData.UpdateStates(states.Traverser.Previous.State, states.Traverser.Target.State); if (OnStateChangeStart != null) { OnStateChangeStart(CurrentState); } }
public void GoToState(ControllerStateData newState, float lerpScale) { lerpScale = Mathf.Clamp01(lerpScale); previous = target; target = newState; lerp.Value = lerpScale; UpdateCurrentState(); current.State = target.State; state = target.State; }
private void Awake() { this.meshRenderer = GetComponent <Renderer>(); var gazeGO = new GameObject(); gazeGO.name = gameObject.name + "Gaze"; gazeGO.transform.parent = this.transform; this.gazeRay = gazeGO.AddComponent <LineRenderer>(); this.gazeRay.material = gazeMaterial; this.gazeRay.useWorldSpace = true; this.gazeRay.enabled = false; this.controller = InputStateManager.Instance.GetModuleOfType(typeof(ControllerStateData)) as ControllerStateData; }
public static void Lerp(ref ControllerStateData target, ControllerStateData a, ControllerStateData b, float t) { target.height = Mathf.Lerp(a.height, b.height, t); target.radius = Mathf.Lerp(a.radius, b.radius, t); target.speed = Mathf.Lerp(a.speed, b.speed, t); }
public static ControllerStateData Lerp(ControllerStateData a, ControllerStateData b, float t) { Lerp(ref tempState, a, b, t); return(tempState); }
public void GoToState(ControllerStateData newState) { GoToState(newState, Mathf.InverseLerp(target.Height, newState.Height, Current.Height)); }
public void UpdateCurrentState() { current = ControllerStateData.Lerp(previous, target, lerp.Value); }