private void HookFire() { if (PlayerConrollerInput.GetAlternativeFireButton() && !hookOn) { currentHook = Instantiate(grappleHook, anchorPosition.position, anchorPosition.rotation); //grab the hook projectile and set its andchor to the child position anchor of the player model. HookInstance hook = currentHook.GetComponent <HookInstance>(); //propel the hook forward. hook.SetHookInstance(this); hook.currentVelocity = speed * hook.transform.forward; hookOn = true; //flip the hook bool to true so that the object knows a hook exists in the world. } }
public void UseHook(Vector3 playerVelocity, float gravity, bool isGrounded) { if (canUseHook && PlayerConrollerInput.GetAlternativeFireButton()) { HookFire(); } //if the hook is latched check for other user input. if (hookIn && canUseHook) { HookControls(); //Check for user hook input HookBehavior(playerVelocity, gravity, isGrounded); //Check for hook behaviour } }