Пример #1
0
    public override ControllState handleInput(BThirdPerson controller, CharacterStats stats)
    {
        Vector3 mousePoint = Vector3.zero;
        stats.healthRegenerationRate = 0f;
        stats.enduranceRegenerationRate = 0f;

        if(controller.stateTime < 0.1){
            controller.controller.slotRightHand.GetComponent<OWeapon>().enable();
            shot = false;
            Vector2 inputVector = new Vector2(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical"));
            Vector3 inputVectorTransformed = new Vector3(inputVector.x,0,-inputVector.y);
            Vector3 lookTarget = controller.position + (ControllerCamera.hingeUp.transform.rotation*inputVectorTransformed);
            controller.turn(lookTarget);
        }

        if(Input.GetButtonDown("attack") && stats.reduceEndurance(7) && !shot){
            shot = true;
        }

        if(controller.stateTime > 0.22f){
            if(shot){
                return ControllerKnight._KnightATTACKB;
            }
            else{
                controller.controller.slotRightHand.GetComponent<OWeapon>().disable();
                return ControllerKnight._KnightIDLE;
            }
        }

        return this;
    }
Пример #2
0
    public override ControllState handleInput(BThirdPerson controller, CharacterStats stats)
    {
        Vector2 inputVector = new Vector2(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical"));
        Vector3 inputVectorTransformed = new Vector3(inputVector.x,0,-inputVector.y);
        Vector3 lookTarget = controller.position + (ControllerCamera.hingeUp.transform.rotation*inputVectorTransformed);

        Debug.Log(inputVector.sqrMagnitude);
        controller.controller.BAudioPlayer.Loop("run_breath_a");

        stats.healthRegenerationRate = -0.1f;
        stats.enduranceRegenerationRate = 5f;

        if(Input.GetButtonDown("attack") && stats.reduceEndurance(35)){
            return ControllerKnight._KnightATTACK;
        }
        if(stats.healthFactor <= 0){
            return ControllerKnight._KnightDIE;
        }
        if(inputVector.sqrMagnitude < 0.5f && controller.stateTime > 0.2f){
            return ControllerKnight._KnightSLIDE;
        }

        controller.run(0.07f);
        controller.turn(lookTarget);
        return ControllerKnight._KnightRUN;

        return this;
    }