示例#1
0
    private void OnEnable()
    {
        player = (PlayerController)FindObjectOfType(typeof(PlayerController));
        if (player == null)
        {
            Debug.LogError("Player Controller not found by InGameUIManager");
        }

        playerStats = player.gameObject.GetComponent <ShipStats>().shipDefinition;
        if (playerStats == null)
        {
            Debug.LogError("Player Stats not found by InGameUIManager");
        }

        SetupHealth(playerStats.currentHealth);
        SetupEnergy(playerStats.currentEnergy);
        SetupShieldPower(playerStats.currentShieldPower);
        SetupShieldLevel(playerStats.currentShieldLevel);
        SetUpWeaponType(playerStats.currentWeapon);

        playerStats.OnHealthChange.AddListener(OnHealthChangeHandler);
        playerStats.OnEnergyChange.AddListener(OnEnergyChangeHandler);
        playerStats.OnShieldPowerChange.AddListener(OnShieldPowerChangeHandler);
        playerStats.OnShieldLevelChange.AddListener(OnShieldLevelChangeHandler);
        playerStats.OnWeaponTypeChange.AddListener(OnWeaponTypeChangeHandler);
    }
示例#2
0
    public void SetupStats(ShipStats_SO template)
    {
        if (shipDefinition_Template != null)
        {
            shipDefinition = Instantiate(template);
        }

        speed = shipDefinition.speed;
        shipDefinition.currentHealth      = shipDefinition.maxHealth;
        shipDefinition.currentEnergy      = shipDefinition.maxEnergy;
        shipDefinition.currentShieldPower = shipDefinition.maxShieldPower;
        SetActiveWeapon(shipDefinition.initialWeapon);
    }