Exemple #1
0
    public static IronBuildingMetaData Load(bool processing = false)
    {
        if (!SaveLoadManager.SharedManager.IsFileExist <IronBuildingMetaData>())
        {
            IronBuildingMetaData newData = new IronBuildingMetaData();

            newData.taskStartTime = DateTime.Now;
            newData.taskEndTime   = DateTime.Now;

            newData.Save();

            return(newData);
        }

        IronBuildingMetaData data = SaveLoadManager.SharedManager.Load <IronBuildingMetaData> ();

        if (processing)
        {
            data.ProcessData();

            data.Save();
        }


        return(data);
    }
    protected override IEnumerator CheckTaskComplete()
    {
        IronBuildingMetaData data = IronBuildingMetaData.Load();

        while (!data.IsTaskComplete())
        {
            yield return(new WaitForSeconds(1f));
        }

        CompleteTask();
    }
Exemple #3
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));
        }
    }
Exemple #4
0
    //notify fake server to transfer resource from temp to player resource
    bool DoTransferResource()
    {
        IronBuildingMetaData data = IronBuildingMetaData.Load();

        return(data.TransferResourceToPlayer());
    }
Exemple #5
0
    //notify fake server to start a new task
    bool DoStartRegenTask()
    {
        IronBuildingMetaData data = IronBuildingMetaData.Load();

        return(data.StartRegenTask());
    }