void Start() { body = GetComponent <Rigidbody>(); clawControl = claw.GetComponent <ClawControl>(); clawState = ClawState.VERTICAL; }
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; } } }
public void Shot() { print("asdfa"); _state = ClawState.STATE_SHOTTING; _shotPosition = _transform.position; _rigidbody.AddForce(_transform.up * -1 * _shotSpeed, ForceMode2D.Impulse); }
protected void Init() { _rigidbody = GetComponent <Rigidbody2D>(); _transform = transform; _shotPosition = _transform.position; _state = ClawState.STATE_STANDING; }
// 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; }
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; } }
// 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(); } }
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; } }
public void RotateWithGun() { _state = ClawState.STATE_MOVING; _transform.localPosition = new Vector3(0, -5, 0); _transform.localRotation = Quaternion.identity; }
public void Retract() { _state = ClawState.STATE_RETRACTING; }
public void PauseRetract() { _state = ClawState.STATE_PAUSING; _rigidbody.velocity = Vector2.zero; }