void UpdateStates() { states.vertical = vertical; states.horizontal = horizontal; // Vector3 v = vertical * camManager.transform.forward; -changed to fix lock on movement speed bug for targets above or below player Vector3 v = vertical * new Vector3(camManager.transform.forward.x, 0, camManager.transform.forward.z).normalized; Vector3 h = horizontal * camManager.transform.right; states.moveDir = (v + h).normalized; float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical); states.moveAmount = Mathf.Clamp01(m); if (x_input) { b_input = false; } if (b_input && b_timer > 0.5f) { states.isRunning = states.moveAmount > 0; if (states.isRunning) { states.lockOn = false; camManager.lockOn = false; } } if (!b_input && b_timer > 0 && b_timer < 0.5f) { states.rollInput = true; } states.itemInput = x_input; states.rb = rb_input; states.rt = rt_input; states.lb = lb_input; states.lt = lt_input; if (y_input) { states.isTwoHanded = !states.isTwoHanded; states.HandleTwoHanded(); } if (rightAxis_down) { states.lockOn = !states.lockOn; if (states.lockOnTarget == null) { states.lockOn = false; } camManager.lockOnTarget = states.lockOnTarget; //states.lockOnTransform = camManager.lockOnTransform; camManager.lockOn = states.lockOn; } }
void UpdateStates() { states.horizontal = horizontal; states.vertical = vertical; Vector3 v = vertical * camManager.transform.forward; Vector3 h = horizontal * camManager.transform.right; states.moveDir = (v + h).normalized; float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical); states.moveAmount = Mathf.Clamp01(m); if (leftAxis_down) { states.run = (states.moveAmount > 0); } else { states.run = false; } //states.rollInput = b_input; if (b_input && b_timer > 0.5f) { states.run = (states.moveAmount > 0); } if (!b_input && b_timer > 0 && b_timer < 0.5f) { states.rollInput = true; } states.rt = rt_input; states.lt = lt_input; states.rb = rb_input; states.lb = lb_input; if (y_input) { states.isTwoHanded = !states.isTwoHanded; states.HandleTwoHanded(); } if (rightAxis_down) { states.lockOn = !states.lockOn; if (states.lockOnTarget == null) { states.lockOn = false; } camManager.lockOnTarget = states.lockOnTarget; states.lockOnTransform = camManager.lockOnTransform; camManager.lockOn = states.lockOn; } //states.FixedTick (delta); }
public void UpdateStates() { states.horizontal = horizontal; states.vertical = vertical; Vector3 v = states.vertical * cameraManager.transform.forward; Vector3 h = states.horizontal * cameraManager.transform.right; states.moveDir = (v + h).normalized; float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical); states.moveAmount = Mathf.Clamp01(m); states.rollInput = b_input; if (b_input) { //states.run = (states.moveAmount > 0); } else { //states.run = false; } states.rb = rb_input; states.rt = rt_input; states.lb = lb_input; states.lt = lt_input; if (y_input) { states.isTwoHanded = !states.isTwoHanded; states.HandleTwoHanded(); } if (rightAxis_Down) { Debug.Log("1"); states.lockOn = !states.lockOn; if (states.lockOnTarget == null) { states.lockOn = false; } cameraManager.lockOnTarget = states.lockOnTarget.transform; cameraManager.lockon = states.lockOn; } }
void UpdateStates() { stateManager.vertical = vertical; stateManager.horizontal = horizontal; Vector3 moveVertical = stateManager.vertical * cameraManager.transform.forward; Vector3 moveHorizontal = stateManager.horizontal * cameraManager.transform.right; stateManager.moveDirection = (moveVertical + moveHorizontal).normalized; float move = Mathf.Abs(vertical) + Mathf.Abs(horizontal); stateManager.moveAmount = Mathf.Clamp01(move); if (useItemInput) { runInput = false; } if (runInput && runTimer > 0.5f) { stateManager.run = (stateManager.moveAmount > 0); } if (!runInput && runTimer > 0 && runTimer < 0.5f) { stateManager.roll = true; } stateManager.useItem = useItemInput; stateManager.attack1 = attack1Input; stateManager.attack2 = attack2Input; stateManager.action1 = qInput; stateManager.action2 = aInput; if (twoHandedInput) { stateManager.isTwoHanded = !stateManager.isTwoHanded; stateManager.HandleTwoHanded(); } if (stateManager.lockOnTarget != null) { if (stateManager.lockOnTarget.enemyStates.isDead) { stateManager.lockOn = false; stateManager.lockOnTarget = null; stateManager.lockOnTransform = null; cameraManager.lockOn = false; cameraManager.lockOnTarget = null; } } if (lockOnInput) { stateManager.lockOn = !stateManager.lockOn; if (stateManager.lockOnTarget == null) { stateManager.lockOn = false; } cameraManager.lockOnTarget = stateManager.lockOnTarget; stateManager.lockOnTransform = cameraManager.lockOnTransform; cameraManager.lockOn = stateManager.lockOn; } }
// passing values to StateManager variables and functions. void UpdateStates() { states.vertical = vertical; states.horizontal = horizontal; states.itemInput = x_input; states.rt = rt_input; states.lt = lt_input; states.rb = rb_input; states.lb = lb_input; // moveDir Vector3 v = states.vertical * camManager.transform.forward; Vector3 h = states.horizontal * camManager.transform.right; states.moveDir = (v + h).normalized; // moveAmount float m = Mathf.Abs(states.horizontal) + Mathf.Abs(states.vertical); states.moveAmount = Mathf.Clamp01(m); // B_input: if (b_input && b_timer > 0.5f) // run when holding down. { states.run = (states.moveAmount > 0) && states.characterStats._stamina > 0; } /* roll when tap the button b_input, thus b_input must equal false at the following FixedFrame because b_input == false when not the button for it is released. * and the timer at that following FixedFrame still equals to the last calculated value before being set back to 0 in the next FixedFrame after this one. */ if (b_input == false && b_timer > 0 && b_timer < 0.5f) { states.rollInput = true; } if (y_input) { if (states.pickManager.itemCandidate && states.pickManager.interactionCandidate) { preferItem = !preferItem; } else { states.isTwoHanded = !states.isTwoHanded; states.HandleTwoHanded(); } } if (states.lockOnTarget != null) { if (states.lockOnTarget.eStates.isDead) { states.lockOn = false; states.lockOnTarget = null; states.lockOnTransform = null; camManager.lockOn = false; camManager.lockOnTarget = null; } } else { states.lockOn = false; states.lockOnTarget = null; states.lockOnTransform = null; camManager.lockOn = false; camManager.lockOnTarget = null; } if (rightAxis_down) { states.lockOn = !states.lockOn; states.lockOnTarget = EnemyManager.singleton.GetEnemy(transform.position); if (states.lockOnTarget == null) { states.lockOn = false; } camManager.lockOnTarget = states.lockOnTarget; // when there's no multiple targets, lockOnTransform will be the target's transform position. (6) states.lockOnTransform = states.lockOnTarget.GetTarget(); camManager.lockOnTransform = states.lockOnTransform; // same state in two different managers should be the same camManager.lockOn = states.lockOn; } if (x_input) { b_input = false; } HandleQuickSlotChanges(); }
void UpdateStates() { states.horizontal = horizontal; states.vertical = vertical; Vector3 v = vertical * camManager.transform.forward; Vector3 h = horizontal * camManager.transform.right; states.moveDir = (v + h).normalized; float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical); states.moveAmount = Mathf.Clamp01(m); if (x_input) { b_input = false; } if (b_input && b_timer > .5f) { states.run = (states.moveAmount > 0); } if (!b_input && b_timer > 0 && b_timer < .5f) { states.rollInput = true; } states.itemInput = x_input; states.rb = rb_input; states.rt = rt_input; states.lb = lb_input; states.lt = lt_input; if (y_input) { states.isTwoHanded = !states.isTwoHanded; states.HandleTwoHanded(); } if (states.lockOnTarget != null) { if (states.lockOnTarget.enStates.isDead) { states.lockOn = false; states.lockOnTarget = null; states.lockOnTransform = null; camManager.lockOn = false; camManager.lockOnTarget = null; } } else { states.lockOn = false; states.lockOnTarget = null; states.lockOnTransform = null; camManager.lockOn = false; camManager.lockOnTarget = null; } if (rightAxis_down) { states.lockOn = !states.lockOn; states.lockOnTarget = EnemyManager.singleton.GetEnemy(transform.position); if (states.lockOnTarget == null) { states.lockOn = false; } camManager.lockOnTarget = states.lockOnTarget; states.lockOnTransform = states.lockOnTarget.GetTarget(); camManager.lockOnTransform = states.lockOnTransform; camManager.lockOn = states.lockOn; } }
void updateStates() { states.vertical = vertical; states.horizontal = horizontal; Vector3 v = states.vertical * camManager.transform.forward; Vector3 h = states.horizontal * camManager.transform.right; states.moveDir = (v + h).normalized; float m = Mathf.Abs(horizontal) + Mathf.Abs(vertical); states.moveAmount = Mathf.Clamp01(m); if (cuadrado) { circulo = false; } if (L3) { states.running = (states.moveAmount > 0); if (states.running) { states.lockOn = false; camManager.lockon = false; } } else { states.running = false; } states.L1 = L1; states.L2 = L2_b; states.R1 = R1; states.R2 = R2_b; states.cuadrado = cuadrado; states.circulo = circulo; if (triangulo) { states.isTwoHanded = !states.isTwoHanded; states.HandleTwoHanded(); } if (states.lockonTarget != null) { if (states.lockonTarget.eStates.isDead) { states.lockOn = false; states.lockonTarget = null; states.lockonTransform = null; camManager.lockon = false; } } if (R3) { states.lockOn = !states.lockOn; if (states.lockonTarget == null) { states.lockOn = false; } camManager.lockonTarget = states.lockonTarget; states.lockonTransform = camManager.lockonTransform; camManager.lockon = states.lockOn; } }