void AddResourceRegenTask() { /* * if(_task != null) * { * _task.InitTask(resourceId, resourceRegenPerDuration, OnResourceTaskComplete, OnTimeLeftToComplete, collectPerDuration); * } * else * { * _task = ResourceGenerateTask.CreateTask(resourceId, resourceRegenPerDuration, OnResourceTaskComplete, OnTimeLeftToComplete, collectPerDuration); * } */ /* * _task = ResourceGenerateTask.CreateTask(resourceId, resourceRegenPerDuration, OnResourceTaskComplete, OnTimeLeftToComplete, collectPerDuration); * * TaskManager.Instance.AddTask (_task); */ if (DoStartRegenTask()) { _task = FoodResourceGenerateTask.CreateTask <FoodResourceGenerateTask>(resourceId, resourceRegenPerDuration, OnResourceTaskComplete, OnTimeLeftToComplete, collectPerDuration); TaskManager.Instance.AddTask(_task); } }
//pull data from fake server void DoFetchData() { Debug.Log("Fetch data"); FarmlandBuildingMetaData data = FarmlandBuildingMetaData.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 = FoodResourceGenerateTask.CreateTask <FoodResourceGenerateTask>(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)); } }