Я немного запутался здесь и мне нужна помощь.Я сделал скрипт, который использует другой скрипт для расчета расхода топлива и нитро.Все работает, как в инспектор.Но когда дело доходит до строковых значений в тексте в пользовательском интерфейсе игры, это только строки для 1 транспортного средства.Я знаю, что проблема в том, что, поскольку я использую один и тот же сценарий для нескольких объектов, он просто не может работать таким образом.Я просто запутался, что мне с этим делать.
Прямо сейчас, я добавляю это в Обновление:
fuelAmountText.text = string.Format ("{0}", FuelTankCapacity.ToString("F2"));
nitroAmounText.text = string.Format ("{0}", nitroAmount.ToString("F1"));
Как сделать так, чтобы это было только строка для конкретного транспортного средства, а не противодействиедруг с другом?Вот полный сценарий на случай, если я кого-нибудь запутаю:
public class CarFuel : MonoBehaviour {
// car nitro and fuel indicators
public Text fuelAmountText;
public float nitroAmount;
public Text nitroAmounText;
// ref to car controller
private RCC_CarControllerV3 carController;
// dashboard canvas gameobject
public GameObject customDash;
public GameObject player;
// engine type ------- wip
//public EngineType engineTypeChoice = EngineType.v6;
//public enum EngineType{i4, v6, v8, v12}
// fuel tank capacity
public float FuelTankCapacity;
// cylinder amount of a vehicle
public float cylAmt;
void Awake(){
carController = GetComponent<RCC_CarControllerV3>();
}
// Update is called once per frame
void Update () {
fuelAmountText.text = string.Format ("{0}", FuelTankCapacity.ToString("F2"));
nitroAmounText.text = string.Format ("{0}", nitroAmount.ToString("F1"));
nitroAmount = carController.NoS;
// calculate fuel consumption
if (carController.engineRunning == true) {
FuelTankCapacity -= carController.rawEngineRPM * 0.00000001f + cylAmt * 0.0000015f;
}
// enable dash if car is being used
if (carController.canControl == true) {
customDash.SetActive (true);
} else {
customDash.SetActive (false);
}
}
}
Заранее спасибо!