コード例 #1
0
        /*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());
        }
コード例 #2
0
        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
        }
コード例 #3
0
 public void StopProject()
 {
     BindedProject.Stop();
     StopCoroutine(ProjectUpdateCoroutine);
 }