Example #1
0
    void Start()
    {
        body = GetComponent <Rigidbody>();

        clawControl = claw.GetComponent <ClawControl>();
        clawState   = ClawState.VERTICAL;
    }
Example #2
0
    private void Interact()
    {
        if (Input.GetKeyDown(KeyCode.Space) && interactDelay <= 0)
        {
            switch (state)
            {
            case ClawState.Open:
                animator.SetTrigger("Drop");
                state         = ClawState.Drop;
                interactDelay = 1.5f;
                break;

            case ClawState.Drop:
                animator.SetTrigger("Return");
                state         = ClawState.Return;
                interactDelay = 1.0f;
                break;

            case ClawState.Return:
                animator.SetTrigger("Open");
                state         = ClawState.Open;
                interactDelay = 0.75f;
                break;

            default:
                break;
            }
        }
    }
Example #3
0
 public void Shot()
 {
     print("asdfa");
     _state        = ClawState.STATE_SHOTTING;
     _shotPosition = _transform.position;
     _rigidbody.AddForce(_transform.up * -1 * _shotSpeed, ForceMode2D.Impulse);
 }
Example #4
0
    protected void Init()
    {
        _rigidbody = GetComponent <Rigidbody2D>();
        _transform = transform;

        _shotPosition = _transform.position;
        _state        = ClawState.STATE_STANDING;
    }
Example #5
0
    // Start is called before the first frame update
    void Start()
    {
        _clawstate        = ClawState.Idle;
        _hitbox           = this.GetComponent <BoxCollider2D>();
        _spriteRenderer   = this.GetComponent <SpriteRenderer>();
        _audioSourceDrill = this.GetComponents <AudioSource>()[0];
        _audioSourceDig   = this.GetComponents <AudioSource>()[1];

        _pathfinding = FindObjectOfType <AstarPath>();

        _spriteRenderer.sprite = _clawSpriteClosed;
    }
Example #6
0
    protected IEnumerator RetractDelay()
    {
        _resetAnim          = false;
        _rigidbody.velocity = _transform.up * _retractSpeed * Time.deltaTime;

        yield return(new WaitForSecondsRealtime(1f));

        if ((_shotPosition - _transform.position).sqrMagnitude < 1f)
        {
            _state = ClawState.STATE_STANDING;
            _rigidbody.position = _shotPosition;
            _rigidbody.velocity = Vector2.zero;
        }
    }
Example #7
0
 // Update is called once per frame
 void Update()
 {
     _drillTimeout    += Time.deltaTime;
     _particleTimeout += Time.deltaTime;
     if (_clawstate == ClawState.Spinning)
     {
         _drillAnimationTimer += Time.deltaTime;
         if (_drillAnimationTimer > 0.1)
         {
             _drillAnimationTimer     = 0;
             _drillAnimationSpriteIdx = 1 - _drillAnimationSpriteIdx;
             if (_drillAnimationSpriteIdx == 0)
             {
                 _spriteRenderer.sprite = _drillSpriteA;
             }
             else
             {
                 _spriteRenderer.sprite = _drillSpriteB;
             }
         }
     }
     // lmb drill, rmb fire/manipulate
     if (Input.GetMouseButtonDown(0))
     {
         _clawstate           = ClawState.Spinning;
         _drillAnimationTimer = 0.0f;
         _audioSourceDrill.Play();
     }
     else if (_clawstate == ClawState.Spinning & Input.GetMouseButtonDown(1))
     {
         _clawstate = ClawState.Firing;
         Debug.Log("lmb+rmb, " + _clawstate);
     }
     else if (Input.GetMouseButtonUp(0))
     {
         _clawstate             = ClawState.Idle;
         _spriteRenderer.sprite = _clawSpriteClosed;
         _audioSourceDrill.Stop();
     }
 }
Example #8
0
    private void ControlClaw()
    {
        if (Input.GetKey(vertical))
        {
            clawState = ClawState.VERTICAL;
        }
        else if (Input.GetKey(forwardShot))
        {
            clawState = ClawState.FORWARD_LONG_SHOT;
        }
        else if (Input.GetKey(intake))
        {
            clawState = ClawState.INTAKE;
        }
        else if (Input.GetKey(reverseShot))
        {
            clawState = ClawState.BACKWARD_LONG_SHOT;
        }

        switch (clawState)
        {
        case ClawState.VERTICAL:
            clawControl.MoveArmToEulerAngle(VERTICAL);
            break;

        case ClawState.FORWARD_LONG_SHOT:
            clawControl.MoveArmToEulerAngle(FORWARD_LONG_SHOT);
            break;

        case ClawState.INTAKE:
            clawControl.MoveArmToEulerAngle(INTAKE);
            break;

        case ClawState.BACKWARD_LONG_SHOT:
            clawControl.MoveArmToEulerAngle(BACKWARD_LONG_SHOT);
            break;
        }
    }
Example #9
0
 public void RotateWithGun()
 {
     _state = ClawState.STATE_MOVING;
     _transform.localPosition = new Vector3(0, -5, 0);
     _transform.localRotation = Quaternion.identity;
 }
Example #10
0
 public void Retract()
 {
     _state = ClawState.STATE_RETRACTING;
 }
Example #11
0
 public void PauseRetract()
 {
     _state = ClawState.STATE_PAUSING;
     _rigidbody.velocity = Vector2.zero;
 }