Пример #1
0
 //抽奖特效完成后
 void callbackAfterEffect(LuckyDrawResults results)
 {
     lucky.drawLucky(drawIndex);
     UiManager.Instance.switchWindow <LuckyDrawShowWindow> ((win) => {
         win.init(results, lucky);
     });
 }
Пример #2
0
 /** 抽奖特效完成后 */
 void callbackAfterEffect(LuckyDrawResults results)
 {
     lucky.drawLucky(drawIndex);
     UiManager.Instance.switchWindow <LuckyDrawShowWindow> ((windown) => {
         windown.init(results, lucky, LuckyDrawShowWindow.SKIP_NOTICE_TYPE, notice.sid);
     });
 }
Пример #3
0
 private void luckyDrawMultipleCallBack(LuckyDrawResults results)
 {
     drawTimes = 0;
     isSend    = false;
     UiManager.Instance.cancelMask();
     callbackAfterEffect(results);
     return;
 }
Пример #4
0
 //初始化
 public void init(LuckyDrawResults results, LuckyDraw lucky, int skipType, int skipIndex)
 {
     this.skipType  = skipType;
     this.skipIndex = skipIndex;
     this.lucky     = lucky;
     this.results   = results;
     loadPirze(results);
     initContent();
     CreateObjByCache();
     Invoke("ShowAlert", 3.5f);
 }
Пример #5
0
    /// <summary>
    /// 这里开始播放抽卡得特效
    /// </summary>
    private void showLuckEffect(int sid, int num)
    {
        //做一个假的数据
        LuckyDrawPrize ld = new LuckyDrawPrize();

        ld.sourceType = "";
        ld.type       = LuckyDrawPrize.TYPE_MAGIC_WEAPON;
        ld.num        = 1;
        ld.sid        = exchange.getExchangeSample().exchangeSid;
        ld.uid        = "";
        LuckyDrawResults ldr = new LuckyDrawResults();

        ldr.setPrizes(ld);
        UiManager.Instance.openWindow <LuckyDrawShowWindow>(
            (windown) => {
            windown.init(ldr, null);
        });
    }
Пример #6
0
 //单次抽奖
 private void drawOne(LuckyDrawResults results)
 {
     for (int i = 0; i < prizeList.Count; i++)
     {
         prizeList [i].clearDate();
     }
     if (GameObject.FindObjectOfType <EffectCtrl> () != null)
     {
         for (int i = 0; i < GameObject.FindObjectsOfType <EffectCtrl>().Length; i++)
         {
             Destroy(GameObject.FindObjectsOfType <EffectCtrl> () [i].gameObject);
         }
     }
     UserManager.Instance.self.setLastStarSum(UserManager.Instance.self.starSum);
     loadInfo();
     this.results = results;
     timer        = TimerManager.Instance.getTimer(UserManager.TIMER_DELAY);
     timer.addOnTimer(playResultOne);
     timer.start();
 }
Пример #7
0
    public override void read(ErlKVMessage message)
    {
        ErlType type = message.getValue("msg") as ErlType;

        if (type is ErlArray)
        {
            ErlArray         arr    = type as ErlArray;
            LuckyDrawResults result = new LuckyDrawResults();
            result.drawWay = drawWay;
            for (int i = 0; i < arr.Value.Length; i++)
            {
                result.parse(arr.Value [i] as ErlArray);
            }

            for (int i = 0; i < result.getSinglePrizes().Count; i++)
            {
                if (result.getSinglePrizes() [i].type == LuckyDrawPrize.TYPE_RMB)
                {
                    UserManager.Instance.self.updateRMB(UserManager.Instance.self.getRMB() + result.getSinglePrizes() [i].num);
                }
                else if (result.getSinglePrizes() [i].type == LuckyDrawPrize.TYPE_MONEY)
                {
                    UserManager.Instance.self.updateMoney(UserManager.Instance.self.getMoney() + result.getSinglePrizes() [i].num);
                }
            }
            LuckyDrawManagerment.Instance.updateNextTime(StringKit.toInt((message.getValue("sid") as ErlType).getValueString()),
                                                         StringKit.toInt((message.getValue("next_time") as ErlType).getValueString()));
            if (callback != null)
            {
                callback(result);
            }
        }
        else
        {
            MaskWindow.UnlockUI();
            if (callback != null)
            {
                callback = null;
            }
        }
    }
Пример #8
0
    private void drawTwo(LuckyDrawResults results)
    {
        for (int i = 0; i < prizeList.Count; i++)
        {
            prizeList [i].clearDate();
        }
        if (GameObject.FindObjectOfType <EffectCtrl> () != null)
        {
            for (int i = 0; i < GameObject.FindObjectsOfType <EffectCtrl>().Length; i++)
            {
                Destroy(GameObject.FindObjectsOfType <EffectCtrl> () [i].gameObject);
            }
        }

        //修正lastStarNum
        UserManager.Instance.self.setLastStarSum(UserManager.Instance.self.starSum);

        loadInfo();
        isPlayAudio  = false;
        this.results = results;
        timer        = TimerManager.Instance.getTimer(100);
        timer.addOnTimer(playResultTwo);
        timer.start();
    }
Пример #9
0
 //初始化
 public void init(LuckyDrawResults results, LuckyDraw lucky)
 {
     init(results, lucky, 0, 0);
 }
Пример #10
0
    private void loadPirze(LuckyDrawResults results)
    {
        List <SinglePrize> listPrize = results.getSinglePrizes();

        if (listPrize.Count == 0)
        {
            return;
        }
        ArrayList cards       = new ArrayList();
        ArrayList equips      = new ArrayList();
        ArrayList goods       = new ArrayList();
        ArrayList magicWeapon = new ArrayList();

        foreach (SinglePrize prize in listPrize)
        {
            if (prize.type == LuckyDrawPrize.TYPE_CARD)
            {
                Card card = StorageManagerment.Instance.getRole(prize.uid);
                if (card == null)
                {
                    card = CardManagerment.Instance.createCard(prize.sid);
                }
                if (HeroRoadManagerment.Instance.activeHeroRoadIfNeed(card))
                {
                    isActiveHeroRoad = true;
                }
                cards.Add(card);
            }
            else if (prize.type == LuckyDrawPrize.TYPE_EQUIP)
            {
                Equip equip = StorageManagerment.Instance.getEquip(prize.uid);
                if (equip == null)
                {
                    equip = EquipManagerment.Instance.createEquip(prize.sid);
                }
                equips.Add(equip);
            }
            else if (prize.type == LuckyDrawPrize.TYPE_TOOL)
            {
                Prop prop = StorageManagerment.Instance.getProp(prize.sid);
                if (prop == null)
                {
                    prop = PropManagerment.Instance.createProp(prize.sid);
                }
                goods.Add(prop);
            }
            else if (prize.type == LuckyDrawPrize.TYPE_MAGIC_WEAPON)
            {
                MagicWeapon magicW = MagicWeaponManagerment.Instance.createMagicWeapon(prize.sid);
                magicWeapon.Add(magicW);
                if (magicweaponList == null)
                {
                    magicweaponList = new List <MagicWeapon>();
                }
                magicweaponList.Add(magicW);
            }
        }
        if (cards.Count > 0)
        {
            cardSort(cards);
        }
        if (equips.Count > 0)
        {
            equipSort(equips);
        }
        if (goods.Count > 0)
        {
            propSort(goods);
        }
    }
Пример #11
0
 public void initPrize(LuckyDrawResults result)
 {
     ldResult = result;
 }
Пример #12
0
 //抽奖回调方法
 private void luckyDrawCallBack(LuckyDrawResults results)
 {
     UiManager.Instance.cancelMask();
     callbackAfterEffect(results);
     return;
 }