Ejemplo n.º 1
0
	void Awake()
	{
		GM = GameMaster.GM;
		deathSequence = GetComponent<DeathSequence>();
		healthManager = GetComponent<HealthManager>();


	}
Ejemplo n.º 2
0
 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>()
                        ));
 }
Ejemplo n.º 3
0
    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);
    }