void TrainingUnit() { if (isTraining) { cancelUI.gameObject.SetActive(true); barUI.gameObject.SetActive(true); if (cancelUI.CheckClick()) { cancelUI.SetClick(false); isTraining = false; } if (trainTimeNow >= trainTimeMax) { isTraining = false; GameObject unit = Instantiate(unitTrainNow, spawnPoint.transform.position, spawnPoint.transform.rotation) as GameObject; UnitGroupSystem group = unit.GetComponent <UnitGroupSystem>(); if (group != null) { group.SetOwner(build.GetOwner()); } WorkerUnit worker = unit.GetComponent <WorkerUnit>(); if (worker != null) { worker.SetOwner(this.build.GetOwner()); } } trainTimeNow += Time.deltaTime; barUI.SetProgress(trainTimeNow / trainTimeMax); } else { cancelUI.gameObject.SetActive(false); barUI.gameObject.SetActive(false); VRPlayerIndicator player = null; foreach (GameObject plays in GameObject.FindGameObjectsWithTag("Player")) { VRPlayerIndicator ind = plays.GetComponent <VRPlayerIndicator>(); if (ind.GetPlayerNumber() == stat.GetOwner()) { player = ind; } } for (int i = 0; i < trainUI.Length; i++) { if (trainUI[i].CheckClick() && player.GetEther() >= trainCost[i]) { isTraining = true; unitTrainNow = trainUnit[i]; trainTimeMax = trainTime[i]; trainTimeNow = 0; player.ChangeEther(-trainCost[i]); barUI.SetProgress(0); trainUI[i].SetClick(false); Debug.Log("Start Training!!!"); } } } }
public IEnumerator BuildingConstrutMove(Transform transform, Vector3 position, float timeToMove) { var currentPos = transform.position; var t = 0f; barUI.SetProgress(0); while (t < 1) { t += Time.deltaTime / timeToMove; transform.position = Vector3.Lerp(currentPos, position, t); barUI.SetProgress(t); yield return(null); } FinishBuild(); yield return(null); }