public IWeaponBehaviour Update(PlayerWeapon weapon, Animator animator) { _cooldown -= Time.deltaTime; if (_cooldown > 0) return this; if (Input.GetKeyDown("joystick button 0") || Input.GetKeyDown("s")) Lax(weapon, animator, weapon.BlueStrikePrototype); if (Input.GetKeyDown("joystick button 1") || Input.GetKeyDown("d")) Lax(weapon, animator, weapon.YellowStrikePrototype); if (Input.GetKeyDown("joystick button 2") || Input.GetKeyDown("a")) Lax(weapon, animator, weapon.MagentaStrikePrototype); if (Input.GetKeyDown("joystick button 3") || Input.GetKeyDown("w")) Lax(weapon, animator, weapon.OrangeStrikePrototype); return this; }
private void Lax(PlayerWeapon weapon, Animator animator, GameObject strike_prototype) { var renderer = weapon.GetComponent<SpriteRenderer>(); var controller = weapon.GetComponent<PlayerController>(); var strike = (GameObject)Object.Instantiate(strike_prototype); strike.transform.position = weapon.transform.position + new Vector3((strike.renderer.bounds.extents.x * 2 + renderer.bounds.extents.x / 2) + 0.1f, 0.025f); //strike.transform.localScale = new Vector3(controller.Facing * (_power + 1), 1); var strike_comp = strike.GetComponent<WeaponStrike>(); //strike_comp.Power = (_power + 1); var strike_collider = strike.GetComponent<CircleCollider2D>(); //strike_collider.radius *= (_power + 1); var x_vel = controller.GetHorizontalVelocity(); animator.SetTempAnimation(controller.IsForehand() ? animator.HitSpritesForehand : animator.HitSpritesBackhand, Mathf.Abs(x_vel) > 0.1 ? x_vel : 1); controller.FlipHand(); _cooldown = BeatMatcher.Beat/2.0f; }
public IWeaponBehaviour Update(PlayerWeapon weapon, Animator animator) { return this; }