using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.UI;
public class Generator : MonoBehaviour
{
public int id;
public Slider sliderOil, sliderFuel, sliderOverheat, sliderPower;
public Text mainContent, mainButton, mainName;
public bool isSelected = false;
public Button button;
public GameObject RigCamera, ToolTip;
void Start()
{
}
void Update()
{
if (isSelected == true)
{
GeneratorInfo();
}
GeneratorDirection();
}
void GeneratorDirection()
{
if (SaveData.current.mainprofile.generatorsList[id].isEnabled == true && SaveData.current.mainprofile.generatorsList[id].fuel > 0 && SaveData.current.mainprofile.generatorsList[id].oil > 0 && SaveData.current.mainprofile.generatorsList[id].condition > 0)
{
SaveData.current.mainprofile.generatorsList[id].power = 500 * SaveData.current.mainprofile.generatorsList[id].wpower / 100f;
SaveData.current.mainprofile.generatorsList[id].fuel -= 0.00001f * SaveData.current.mainprofile.generatorsList[id].power;
SaveData.current.mainprofile.generatorsList[id].oil -= 0.0005f;
SaveData.current.mainprofile.generatorsList[id].condition -= 0.0001f;
SaveData.current.mainprofile.generatorsList[id].overheat += 0.1f;
}
if (SaveData.current.mainprofile.generatorsList[id].fuel < 0 || SaveData.current.mainprofile.generatorsList[id].oil < 0 || SaveData.current.mainprofile.generatorsList[id].overheat > 99 || SaveData.current.mainprofile.generatorsList[id].condition < 1)
{
SaveData.current.mainprofile.generatorsList[id].isEnabled = false;
SaveData.current.mainprofile.generatorsList[id].power = 0;
SaveData.current.mainprofile.generatorsList[id].wpower = 0;
}
if (SaveData.current.mainprofile.generatorsList[id].isCooled == true)
{
if (SaveData.current.mainprofile.generatorsList[id].overheat > 0.1f)
{
SaveData.current.mainprofile.generatorsList[id].overheat -= 0.2f;
}
}
}
public void GeneratorWrap()
{
SaveData.current.mainprofile.generatorsList[id].isEnabled = !SaveData.current.mainprofile.generatorsList[id].isEnabled;
}
void OnMouseUp()
{
isSelected = true;
ToolTip.SetActive(true);
}
void GeneratorInfo()
{
mainContent.text = "Status: " + SaveData.current.mainprofile.generatorsList[id].mainStatus + "\nLoad: " + SaveData.current.mainprofile.generatorsList[id].wpower.ToString("F1") + "%\nPower: " + SaveData.current.mainprofile.generatorsList[id].power.ToString("F1") + " kW/h\nCondition: " + SaveData.current.mainprofile.generatorsList[id].condition.ToString("F1") + "%\nOverheat: " + SaveData.current.mainprofile.generatorsList[id].overheat.ToString("F1") + "%\nFuel: " + SaveData.current.mainprofile.generatorsList[id].fuel.ToString("F1") + "L\nOil: " + SaveData.current.mainprofile.generatorsList[id].oil.ToString("F1") + "L";
mainName.text = SaveData.current.mainprofile.generatorsList[id].name;
sliderOil.value = SaveData.current.mainprofile.generatorsList[id].oil;
sliderFuel.value = SaveData.current.mainprofile.generatorsList[id].fuel;
sliderPower.value = SaveData.current.mainprofile.generatorsList[id].wpower;
sliderOverheat.value = SaveData.current.mainprofile.generatorsList[id].overheat;
button.GetComponent<Button>().onClick.AddListener(() => GeneratorWrap());
RigCamera.GetComponent<CameraControl>().enabled = false;
if (SaveData.current.mainprofile.generatorsList[id].isEnabled == true)
{
SaveData.current.mainprofile.generatorsList[id].mainStatus = "Online";
button.GetComponentInChildren<Text>().text = "Stop";
}
else
{
SaveData.current.mainprofile.generatorsList[id].mainStatus = "Offline";
button.GetComponentInChildren<Text>().text = "Start";
}
}
}