Example #1
0
    /// <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;
    }
Example #2
0
    /// <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);
    }