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); }
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); }