Esempio n. 1
0
 public APIRequestTask RequestCampaign(int campaignID, bool requestRetry)
 {
     GameWebAPI.RequestCP_Campaign request = new GameWebAPI.RequestCP_Campaign
     {
         SetSendData = delegate(GameWebAPI.CP_Req_Campaign param)
         {
             param.campaignId = campaignID;
         },
         OnReceived = delegate(GameWebAPI.RespDataCP_Campaign response)
         {
             this.RespDataCP_Campaign = response;
             this.OnCampaignUpdate(this.RespDataCP_Campaign, this.CampaignForceHide);
         }
     };
     return(new APIRequestTask(request, requestRetry));
 }
Esempio n. 2
0
    public void CheckCampaign(Action <int> finish, GameWebAPI.RespDataCP_Campaign.CampaignType[] campaign_type)
    {
        GameWebAPI.RespDataCP_Campaign respDataCP_Campaign = DataMng.Instance().RespDataCP_Campaign;
        bool isExistedData = false;

        GameWebAPI.RespDataCP_Campaign.CampaignInfo currentInfo = null;
        GameWebAPI.RespDataCP_Campaign.CampaignType currentType = GameWebAPI.RespDataCP_Campaign.CampaignType.Invalid;
        for (int i = 0; i < campaign_type.Length; i++)
        {
            GameWebAPI.RespDataCP_Campaign.CampaignInfo campaign = respDataCP_Campaign.GetCampaign(campaign_type[i], true);
            if (campaign != null)
            {
                isExistedData = true;
                currentInfo   = campaign;
                currentType   = campaign_type[i];
                break;
            }
        }
        bool isExistNewData = false;

        GameWebAPI.RespDataCP_Campaign.CampaignInfo newInfo = null;
        GameWebAPI.RequestCP_Campaign request = new GameWebAPI.RequestCP_Campaign
        {
            SetSendData = delegate(GameWebAPI.CP_Req_Campaign param)
            {
                param.campaignId = (int)currentType;
            },
            OnReceived = delegate(GameWebAPI.RespDataCP_Campaign response)
            {
                if (currentType != GameWebAPI.RespDataCP_Campaign.CampaignType.Invalid)
                {
                    GameWebAPI.RespDataCP_Campaign.CampaignInfo campaign2 = response.GetCampaign(currentType, false);
                    if (campaign2 != null)
                    {
                        isExistNewData = true;
                        newInfo        = campaign2;
                    }
                }
                else
                {
                    for (int j = 0; j < campaign_type.Length; j++)
                    {
                        GameWebAPI.RespDataCP_Campaign.CampaignInfo campaign3 = response.GetCampaign(campaign_type[j], false);
                        if (campaign3 != null)
                        {
                            isExistNewData = true;
                            newInfo        = campaign3;
                            break;
                        }
                    }
                }
            }
        };
        base.StartCoroutine(request.RunOneTime(delegate()
        {
            if (isExistedData && isExistNewData && currentInfo != null && newInfo != null && !currentInfo.IsEqualInfo(newInfo))
            {
                isExistedData = false;
            }
            if (isExistedData && !isExistNewData)
            {
                if (finish != null)
                {
                    finish(1);
                }
            }
            else if (!isExistedData && isExistNewData)
            {
                if (finish != null)
                {
                    finish(2);
                }
            }
            else if (finish != null)
            {
                finish(0);
            }
        }, delegate(Exception nop)
        {
            if (finish != null)
            {
                finish(-1);
            }
        }, null));
    }