add ckg
plantilla base para movimiento básico
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class materialExtractionStationUISystem : MonoBehaviour
|
||||
{
|
||||
[Header ("Main Settings")]
|
||||
[Space]
|
||||
|
||||
public bool stationEnabled = true;
|
||||
|
||||
public string noZonesLocatedString = "No Material Zons Located";
|
||||
|
||||
public bool showMaxAndRemainEnergyAmount;
|
||||
|
||||
[Space]
|
||||
[Header ("Debug")]
|
||||
[Space]
|
||||
|
||||
public bool stationActive;
|
||||
|
||||
public float currentEnergyAmount;
|
||||
|
||||
[Space]
|
||||
[Header ("Events Settings")]
|
||||
[Space]
|
||||
|
||||
public Text numberOfZonesLocatedText;
|
||||
|
||||
public Text materialsZonesStateText;
|
||||
|
||||
public Text stationEnergyAmountText;
|
||||
|
||||
public materialExtractionStationSystem mainMaterialExtractionStationSystem;
|
||||
|
||||
|
||||
int numberOfZonesLocated;
|
||||
|
||||
string materialsZonesStateString;
|
||||
|
||||
|
||||
public void setExtractionActiveState (bool state)
|
||||
{
|
||||
if (!stationEnabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (stationActive == state) {
|
||||
return;
|
||||
}
|
||||
|
||||
stationActive = state;
|
||||
|
||||
stopUpdateCoroutine ();
|
||||
|
||||
if (stationActive) {
|
||||
updateCoroutine = StartCoroutine (updateSystemCoroutine ());
|
||||
} else {
|
||||
updateEnergyAmountText ();
|
||||
}
|
||||
}
|
||||
|
||||
Coroutine updateCoroutine;
|
||||
|
||||
public void stopUpdateCoroutine ()
|
||||
{
|
||||
if (updateCoroutine != null) {
|
||||
StopCoroutine (updateCoroutine);
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerator updateSystemCoroutine ()
|
||||
{
|
||||
var waitTime = new WaitForFixedUpdate ();
|
||||
|
||||
while (true) {
|
||||
updateSystem ();
|
||||
|
||||
yield return waitTime;
|
||||
}
|
||||
}
|
||||
|
||||
void updateSystem ()
|
||||
{
|
||||
numberOfZonesLocated = mainMaterialExtractionStationSystem.numberOfZonesLocated;
|
||||
|
||||
if (numberOfZonesLocated > 0) {
|
||||
numberOfZonesLocatedText.text = numberOfZonesLocated.ToString ();
|
||||
|
||||
materialsZonesStateString = "Material Zones Located Info\n";
|
||||
|
||||
for (int i = 0; i < mainMaterialExtractionStationSystem.materialsZoneSystemLocatedList.Count; i++) {
|
||||
materialsZonesStateString += "Station " + (i + 1).ToString () + " : ";
|
||||
|
||||
materialsZonesStateString += mainMaterialExtractionStationSystem.materialsZoneSystemLocatedList [i].getRemainMaterialsAmount ();
|
||||
|
||||
materialsZonesStateString += "\n";
|
||||
}
|
||||
|
||||
materialsZonesStateText.text = materialsZonesStateString;
|
||||
|
||||
} else {
|
||||
numberOfZonesLocatedText.text = noZonesLocatedString;
|
||||
|
||||
materialsZonesStateString = "Material Zones Located Info\n";
|
||||
|
||||
for (int i = 0; i < mainMaterialExtractionStationSystem.materialsZoneSystemLocatedList.Count; i++) {
|
||||
materialsZonesStateString += "Station " + (i + 1).ToString () + " : EMPTY";
|
||||
|
||||
materialsZonesStateString += "\n";
|
||||
}
|
||||
|
||||
materialsZonesStateText.text = materialsZonesStateString;
|
||||
}
|
||||
|
||||
if (mainMaterialExtractionStationSystem.useEnergyToExtract) {
|
||||
updateEnergyAmountText ();
|
||||
}
|
||||
}
|
||||
|
||||
void updateEnergyAmountText ()
|
||||
{
|
||||
currentEnergyAmount = mainMaterialExtractionStationSystem.getCurrentEnergyAmount ();
|
||||
|
||||
if (currentEnergyAmount <= 0) {
|
||||
currentEnergyAmount = 0;
|
||||
}
|
||||
|
||||
if (showMaxAndRemainEnergyAmount) {
|
||||
stationEnergyAmountText.text = mainMaterialExtractionStationSystem.getMaxEnergyAmount ().ToString () + "/" +
|
||||
currentEnergyAmount.ToString ();
|
||||
} else {
|
||||
stationEnergyAmountText.text = currentEnergyAmount.ToString ();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user