Exemple #1
0
    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 = IronResourceGenerateTask.CreateTask <IronResourceGenerateTask>(resourceId, resourceRegenPerDuration, OnResourceTaskComplete, OnTimeLeftToComplete, collectPerDuration);

            TaskManager.Instance.AddTask(_task);
        }
    }
Exemple #2
0
    //pull data from fake server
    void DoFetchData()
    {
        Debug.Log("Fetch data");
        IronBuildingMetaData data = IronBuildingMetaData.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 = IronResourceGenerateTask.CreateTask <IronResourceGenerateTask>(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));
        }
    }