/// <summary> /// Init resource generate task. /// call after first call will reset all value to new value /// </summary> /// <param name="resourceId">Resource identifier.</param> /// <param name="resourceToGenerate">Resource to generate.</param> /// <param name="completeCallBack">Complete call back.</param> /// <param name="duration">Duration.</param> /// <param name="timeType">Time type.</param> public void InitTask(ResourceType resourceId, float resourceToGenerate, OnResourceTaskComplete completeCallBack = null, OnTimeLeftToComplete timeLeftCallBack = null, int duration = 1) { base.InitTask(duration, timeLeftCallBack); _resourceId = resourceId; _resource = resourceToGenerate; Evt_OnResourceTaskComplete = completeCallBack; }
/// <summary> /// Easy way to create the resource task. /// </summary> /// <returns>The task.</returns> /// <param name="resourceId">Resource identifier.</param> /// <param name="resourceToGenerate">Resource to generate.</param> /// <param name="completeCallBack">Complete call back.</param> /// <param name="duration">Duration.</param> /// <param name="timeType">Time type.</param> public static T CreateTask <T>(ResourceType resourceId, float resourceToGenerate, OnResourceTaskComplete completeCallBack = null, OnTimeLeftToComplete timeLeftCallBack = null, int duration = 1) where T : ResourceGenerateTask, new() { T task = new T(); ((ResourceGenerateTask)task).InitTask(resourceId, resourceToGenerate, completeCallBack, timeLeftCallBack, duration); return(task); }