public static SawmillBuildingMetaData Load(bool processing = false) { if (!SaveLoadManager.SharedManager.IsFileExist <SawmillBuildingMetaData>()) { SawmillBuildingMetaData newData = new SawmillBuildingMetaData(); newData.taskStartTime = DateTime.Now; newData.taskEndTime = DateTime.Now; newData.Save(); return(newData); } SawmillBuildingMetaData data = SaveLoadManager.SharedManager.Load <SawmillBuildingMetaData> (); if (processing) { data.ProcessData(); data.Save(); } return(data); }
protected override IEnumerator CheckTaskComplete() { SawmillBuildingMetaData data = SawmillBuildingMetaData.Load(); while (!data.IsTaskComplete()) { yield return(new WaitForSeconds(1f)); } CompleteTask(); }
//pull data from fake server void DoFetchData() { Debug.Log("Fetch data"); SawmillBuildingMetaData data = SawmillBuildingMetaData.Load(true); resourceId = data.resourceId; collectPerDuration = data.collectPerDuration; resourceRegenPerDuration = data.resourceRegenPerDuration; maxResourceStore = data.maxResourceStore; _currentResourceStore = data.currentResourceStore; Debug.Log("current resource:" + data.currentResourceStore); if ((data.hasTask) && (_task == null)) { Debug.Log("Resume task"); _task = WoodResourceGenerateTask.CreateTask <WoodResourceGenerateTask>(data.resourceId, data.resourceRegenPerDuration, OnResourceTaskComplete, OnTimeLeftToComplete, data.taskDuration); TaskManager.Instance.AddTask(_task); } else if (_currentResourceStore < maxResourceStore) { Debug.Log("Add task"); AddResourceRegenTask(); } else { _task = null; } if (_currentResourceStore > 0) { EventManager.GetInstance().ExecuteEvent <EventCollectResource> (new EventCollectResource(transform, resourceId, _currentResourceStore)); } }
//notify fake server to transfer resource from temp to player resource bool DoTransferResource() { SawmillBuildingMetaData data = SawmillBuildingMetaData.Load(); return(data.TransferResourceToPlayer()); }
//notify fake server to start a new task bool DoStartRegenTask() { SawmillBuildingMetaData data = SawmillBuildingMetaData.Load(); return(data.StartRegenTask()); }