예제 #1
0
    // Use this for initialization
    void Start()
    {
        spriteRenderer = GetComponent <SpriteRenderer>();
        rate           = 1.0f / ((float)Application.targetFrameRate * transitionTime);

        level = GameObject.FindObjectOfType <Level>();

        livesRemaining = GameObject.FindObjectOfType <LivesRemaining>();
    }
예제 #2
0
    public void Start()
    {
        rigidbody      = this.GetComponent <Rigidbody>();
        livesRemaining = GameObject.FindObjectOfType <LivesRemaining>();
        OnDeath.AddListener(livesRemaining.LoseLife);

        SwitchToActiveAtStart();

        level = GameObject.FindObjectOfType <Level>();
        OnFall.AddListener(level.CheckFallOff);
    }
예제 #3
0
    public void PlayerDamage()
    {
        _cAction = PLAYERACTIONS.takeDamage;
        if (shield != true)
        {
            currentHealth -= 1;
        }
        else
        {
            shield = false;
            AddShield(shield);
        }

        if (playerGUI != null)
        {
            playerGUI.HPChange(currentHealth);
        }

        if (currentHealth == 0)
        {
            Instantiate(Resources.Load("BigExsplosion"), transform.position, transform.localRotation);
            EntityManager.ResetWave();
            acceleration = Vector3.zero;
            velocity     = Vector3.zero;
            _fsm.Transition(_fsm.state, PLAYERSTATES.dead);
            livesRemaining -= 1;
            if (livesRemaining >= 0)
            {
                LivesRemaining.RemoveLife();
                _cAction                = PLAYERACTIONS.die;
                transform.position      = spawnPosition;
                well.transform.position = spawnPosition;
                PlayerSpawn();
                currentHealth = maxHealth;
                if (GODMODE == true)
                {
                    livesRemaining += 1;
                }
            }
            else if (livesRemaining < 0)
            {
                _fsm.Transition(_fsm.state, PLAYERSTATES.destroyed);
                GameStates.ChangeState("GameOver");
            }
        }
        DylanGamePlay.UpdatePlayer(currentHealth, livesRemaining);
    }
예제 #4
0
    /// <summary>
    /// Dumping the game state forces all properties to be initialized to their current state.
    /// </summary>
    /// <returns>The dump.</returns>
    public string Dump()
    {
        StringBuilder sb = new StringBuilder();

        sb.Append(CurrentRoom + "#");
        sb.Append(CurrentPosition.x.ToString() + "#");
        sb.Append(CurrentPosition.y.ToString() + "#");
        sb.Append(RestartPosition.x.ToString() + "#");
        sb.Append(RestartPosition.y.ToString() + "#");
        sb.Append(RoomStateSummary + "#");
        sb.Append(ItemsCollected.ToString() + "#");
        sb.Append(CreaturesKilled.ToString() + "#");
        sb.Append(LivesRemaining.ToString() + "#");
        sb.Append(InGameTime.ToShortTimeString() + "#");
        sb.Append(MaidGivenInstructions.ToString() + "#");
        sb.Append(MaidGivenWarning.ToString() + "#");
        sb.Append(MaidReceivedItems.ToString() + "#");
        sb.Append(BedReached.ToString() + "#");
        sb.Append(PlayerHasTheWeapon.ToString() + "#");
        sb.Append(DisableMusic.ToString() + "#");
        sb.Append(DisableSoundEffects.ToString() + "#");
        sb.Append(DifficultyMultiplier.ToString());
        return(sb.ToString());
    }