Esempio n. 1
0
    // MARK: Flush

    public void doFlush(Objectives.FlushRequest request)
    {
        const int FLUSH_COST = 100;

        LocalMoneyWorker.Instance.Buy(FLUSH_COST, delegate(int amount)
        {
            var response = new Objectives.FlushResponse();
            if (amount >= 0)
            {
                //since we are flushing, we should reset progress dans status
                for (int obj = 0; obj < numberOfObjectives; obj++)
                {
                    ObjectivesWorker.Update(obj, fetchedSet, 0);
                    ObjectivesWorker.UpdateStatus(obj, fetchedSet, false);
                }

                response.objectives = ObjectivesWorker.Flush(numberOfObjectives);

                //since we flushed data we fetch objectives again
                var fetchRequest = new Objectives.FetchRequest();
                fetchRequest.numberOfObjectives = numberOfObjectives;
                fetchRequest.set = fetchedSet;
                doFetch(fetchRequest);
            }
            else //Flush failed
            {
                response.objectives = new Objectives.ObjectivesModel[] { };
            }
            this.presenter.presentFlush(response);
        });
    }
    // MARK: Flush

    public void presentFlush(Objectives.FlushResponse response)
    {
        if (response.objectives.Length > 0)
        {
            NotifierPresenter.Instance.PerformInstantaneousRequest("Flushed Objectives !");
        }
        else
        {
            NotifierPresenter.Instance.PerformInstantaneousRequest("You need more Money !");
        }
    }
 void IObjectivesPresenter.presentFlush(Objectives.FlushResponse response)
 {
     presentFlushCalled = true;
     lastFlushResponse  = response;
 }