示例#1
0
    // =====================================
    // clear battle
    public void SrartClearBattle(int magicId, int count, PBConnect_multiFight.DelegateConnectCallback callback, GameObject parent)
    {
        PBConnect_multiFight.RESULT result = PBConnect_multiFight.MultiFight(magicId, count, callback);
        switch (result)
        {
        case PBConnect_multiFight.RESULT.LACK_TIMES:
        {
            string msg = "剩余挑战次数不足";
            UIHelper.ShowTextPromptPanel(parent, msg);
        }
        break;

        case PBConnect_multiFight.RESULT.LACK_ENERGY:
        {
            string msg = "剩余体力不足";
            UIHelper.ShowTextPromptPanel(parent, msg);
        }
        break;

        case PBConnect_multiFight.RESULT.LACK_STAR:
        {
            string msg = "需要三星级通关才可进行扫荡";
            UIHelper.ShowTextPromptPanel(parent, msg);
        }
        break;
        }
    }
 private static void OnSyncUser(bool success, System.Object content)
 {
     if (success)
     {
         PBConnect_multiFight.DelegateConnectCallback cb = _callback;
         _callback = null;
         cb(success, content);
     }
     else
     {
         PBConnect_multiFight.DelegateConnectCallback cb = _callback;
         _callback = null;
         cb(success, content);
     }
 }
    private static void OnMultiFight(bool success, System.Object content)
    {
        if (success)
        {
            SyncRequest request = new SyncRequest();
            request.api = new Model_ApiRequest().api;

            PBConnect_sync.FillSyncRequest(InstancePlayer.instance.multiFightPrizeItems, request);

            (new PBConnect_sync()).Send(request, OnSyncUser);
        }
        else
        {
            PBConnect_multiFight.DelegateConnectCallback cb = _callback;
            _callback = null;
            cb(success, content);
        }
    }
    public static RESULT MultiFight(int missionMagicId, int times, PBConnect_multiFight.DelegateConnectCallback callback)
    {
        /*
         * Model_Mission modelMission = InstancePlayer.instance.model_User.model_level.GetMission (missionMagicId);
         * DataMission dataMission = DataManager.instance.dataMissionGroup.GetMission (missionMagicId);
         *
         * if (modelMission.remainFightNum < times) {
         *      return RESULT.LACK_TIMES;
         * }
         *
         * if (modelMission.starCount < 3) {
         *      return RESULT.LACK_STAR;
         * }
         *
         * int totalEnergyCost = dataMission.EnergyCost * times;
         * if (InstancePlayer.instance.model_User.model_Energy.energy < totalEnergyCost) {
         *      return RESULT.LACK_ENERGY;
         * }
         */


        RESULT r = CheckMultyFight(missionMagicId, times);

        if (r != RESULT.OK)
        {
            return(r);
        }

        Assert.assert(_callback == null);
        _callback = callback;


        MultiFightRequest request = new MultiFightRequest();

        request.api = new Model_ApiRequest().api;

        request.missionId = missionMagicId;
        request.num       = times;

        (new PBConnect_multiFight()).Send(request, OnMultiFight);

        return(r);
    }