/*Public methods*/ public void StartProject() { if (true == BindedProject.IsCompleted) { throw new InvalidOperationException("Cannot start project that is already completed"); } if (0 == BindedProject.Workers.Count) { throw new InvalidOperationException("Cannot start project without no workers"); } BindedProject.Start(); ProjectUpdateCoroutine = StartCoroutine(UpdateProject()); }
private void OnProjectFinished(LocalProject finishedProject) { StopCoroutine(ProjectUpdateCoroutine); for (int i = BindedProject.Workers.Count - 1; i >= 0; i--) { BindedProject.RemoveWorker(BindedProject.Workers[i]); } string playerNotification = string.Format("Project {0} finished. Your company has earned {1} $", finishedProject.Name, finishedProject.CompletionBonus); SimulationManagerComponent.NotificatorComponent.Notify(playerNotification); #if DEVELOPMENT_BUILD || UNITY_EDITOR string debugInfo = string.Format("[{3}] Project {0} (ID {2}) finished. {1} $ added to company's balance", finishedProject.Name, finishedProject.CompletionBonus, finishedProject.ID, this.GetType().Name); Debug.Log(debugInfo); #endif }
public void StopProject() { BindedProject.Stop(); StopCoroutine(ProjectUpdateCoroutine); }