void Awake() { GM = GameMaster.GM; deathSequence = GetComponent<DeathSequence>(); healthManager = GetComponent<HealthManager>(); }
void OnDie(Damageable damageable) { StoryManager.GetSingleton().SetBoolean("player_is_dead", true); target.CurrentHealth = target.MaxHealth; StartCoroutine(DeathSequence.Start( DarknessOverlay.GetOverlay(), player.animator, playerRenderer, player.GetComponent <Flasher>() )); }
public IState CommonMovement(float deltaTime, float speed) { if (deltaTime == 0.0f) { return(null); } float horz = Input.GetAxisRaw("Horizontal"); float vert = Input.GetAxisRaw("Vertical"); movement.TargetVelocity = new Vector2(horz, vert).normalized *speed; State maybeResult = inventory.checkUseItems(); if (maybeResult != null) { return(maybeResult); } if (Input.GetButtonDown("Fire2")) { return(new DoCoroutine(SwingSword(), this)); } if (inventory.HasAGun() && Input.GetButtonDown("Reload")) { return(reload); } if (Input.GetButtonDown("CycleWeapon") && inventory.HasAGun()) { inventory.NextGun(); } if (!inventory.HasAGun()) { animator.SetInteger("GunType", 0); } else { GunStats stats = inventory.GetCurrentGun(); animator.SetInteger("GunType", stats.animationIndex); } if (Input.GetButtonDown("DeathJump")) { bool isDead = StoryManager.GetSingleton().GetBoolean("player_is_dead"); StartCoroutine(DeathSequence.FlashTransition(isDead ? MapDirections.Living : MapDirections.Dead, darkness)); StoryManager.GetSingleton().SetBoolean("player_is_dead", !isDead); } if (Input.GetButtonDown("Submit")) { var overlaps = Physics2D.OverlapCircleAll(direction.TransformPoint(Vector3.right * interactDistance), interactRadius); ScriptInteraction interaction = overlaps.Select(collider => collider.gameObject.GetComponent <ScriptInteraction>()) .Where(value => value != null) .FirstOrDefault(x => true); if (interaction != null) { return(new Interact(this, interaction.interact())); } } return(null); }