Beispiel #1
0
    public void receiveOK(int sid, int num)
    {
        ExchangeManagerment.Instance.addExchange(sid, num);
        bool           needShowEffect = false;
        ExchangeSample sample         = (tmpMsg.msgInfo as Exchange).getExchangeSample();

        if (sample.type == PrizeType.PRIZE_CARD)
        {
            Card c = CardManagerment.Instance.createCard(sample.exchangeSid);
            for (int i = 0; i < tmpMsg.msgNum; i++)
            {
                if (HeroRoadManagerment.Instance.activeHeroRoadIfNeed(c))
                {
                    needShowEffect = true;
                }
            }
        }
        //TextTipWindow.Show (LanguageConfigManager.Instance.getLanguage ("s0132"));
        exchangeFinish(null);
        if (needShowEffect)       //如果需要显示特效 则不需要在TextTipWindow消失时 解除MaskWindow.UnlockUI,应该在特效消失时调用,因为特效的时间更长
        {
            TextTipWindow.ShowNotUnlock(LanguageConfigManager.Instance.getLanguage("s0132"));
            showEffect();
        }
        else
        {
            TextTipWindow.Show(LanguageConfigManager.Instance.getLanguage("s0132"));
        }
    }
Beispiel #2
0
 void OnButtonClick(GoodsView view)
 {
     if (window.isSelect(view.equip))
     {
         window.offSelectEquip(view.equip);
         view.tempGameObj.SetActive(false);
     }
     else if (window.selectMagicList.Count + window.selectedCardList.Count + window.selectedEquipList.Count < 8)
     {
         window.onSelectEquip(view.equip);
         view.tempGameObj.SetActive(true);
     }
     else if (window.selectMagicList.Count + window.selectedCardList.Count + window.selectedEquipList.Count >= 8)
     {
         TextTipWindow.ShowNotUnlock(Language("resolveChooseMax_2"));
     }
     MaskWindow.UnlockUI();
 }
    private void PlayerAwardDataEffect(int isWin)
    {
        int integralDesc = IncAttributeGlobal.Instance.getIntAttribute(AttributeGlobalCommon.INC_ATTRIBUTES_ARENA_INTEGRAL);

        if (integralDesc >= 0 && isWin != -1)
        {
            integralDesc = ArenaManager.instance.self.integral - integralDesc;
            if (integralDesc > 0)
            {
                integralAddGroup.transform.localPosition = new Vector3(lblIntegral.transform.localPosition.x + lblIntegral.width + 10, integralAddGroup.transform.localPosition.y, integralAddGroup.transform.localPosition.z);
                integralAddGroup.SetActive(true);
                TweenLabelNumber tln2 = TweenLabelNumber.Begin(integralAddLabel.gameObject, 0.3f, integralDesc);
                EventDelegate.Add(tln2.onFinished, () => {
                    StartCoroutine(Utils.DelayRun(() => {
                        lblIntegral.text = LanguageConfigManager.Instance.getLanguage("Arena05") + arenaManager.self.integral;
                        integralAddGroup.SetActive(false);
                    }, 1f));
                }, true);
            }
            IncAttributeGlobal.Instance.removeAttribute(AttributeGlobalCommon.INC_ATTRIBUTES_ARENA_INTEGRAL);
        }
        int meritDesc = IncAttributeGlobal.Instance.getIntAttribute(AttributeGlobalCommon.INC_ATTRIBUTES_ARENA_MERIT);

        if (meritDesc >= 0 && isWin != -1)
        {
            meritDesc = UserManager.Instance.self.merit - meritDesc;
            updateMetr(meritDesc);
        }
        string str = null;

        if (isWin == 0)
        {
            str = LanguageConfigManager.Instance.getLanguage("ArenaAuditions01", integralDesc.ToString(), meritDesc.ToString());
        }
        else if (isWin == 1)
        {
            str = LanguageConfigManager.Instance.getLanguage("ArenaAuditions02", integralDesc.ToString(), meritDesc.ToString());
        }
        this.isWin = -1;
        if (!string.IsNullOrEmpty(str))
        {
            TextTipWindow.ShowNotUnlock(str);
        }
    }
 void OnButtonClick(RoleView view)
 {
     if (GuideManager.Instance.isEqualStep(114005000))
     {
         GuideManager.Instance.doGuide();
         GuideManager.Instance.guideEvent();
     }
     if (resolveWin.isSelect(view.card))
     {
         resolveWin.offSelectCard(view.card);
         view.tempGameObj.SetActive(false);
     }
     else if (resolveWin.selectMagicList.Count + resolveWin.selectedCardList.Count + resolveWin.selectedEquipList.Count < 8)
     {
         if (view.card.state == 4)
         {
             MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("tips_001"));
         }
         else if (view.card.state == 1)
         {
             MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("tips_002"));
         }
         else if (view.card.state == 5)
         {
             MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("tips_003"));
         }
         else
         {
             resolveWin.onSelectCard(view.card);
             view.tempGameObj.SetActive(true);
         }
     }
     else if (resolveWin.selectMagicList.Count + resolveWin.selectedCardList.Count + resolveWin.selectedEquipList.Count >= 8)
     {
         TextTipWindow.ShowNotUnlock(Language("resolveChooseMax_1"));
     }
     MaskWindow.UnlockUI();
 }
Beispiel #5
0
    public override void read(ErlKVMessage message)
    {
        ErlType msg = message.getValue("msg") as ErlType;

        switch (tempCmd)
        {
        case DO_GET:
            int lastSid = StringKit.toInt(msg.getValueString());
            LevelupRewardManagerment.Instance.lastRewardSid = lastSid;
            if (getCallback != null)
            {
                getCallback();
                getCallback = null;
            }
            break;

        case DO_RECEIVE:
            string infoMsg1 = msg.getValueString();
            if (infoMsg1 == "ok")
            {
                LevelupRewardManagerment.Instance.lastRewardSid  = toRewardSid;
                LevelupRewardManagerment.Instance.receiveEnabled = false;
                TextTipWindow.ShowNotUnlock(LanguageConfigManager.Instance.getLanguage("s0120"));
            }
            else
            {
                MessageWindow.ShowAlert(infoMsg1);
            }
            if (receiveCallback != null)
            {
                receiveCallback(infoMsg1.Equals("ok"));
                receiveCallback = null;
            }
            break;
        }
    }
Beispiel #6
0
    public IEnumerator  beginBattleOverAnim()
    {
        //锁屏幕,防止出去后狂点按钮报错
        MaskWindow.LockUI();

        Time.timeScale = GameManager.Instance.gameSpeed;
        yield return(new WaitForSeconds(1f));

        playAnimBattleOver();

        BattleDataErlang currentbattleData = BattleManager.battleData;

        if (BattleManager.battleData.isGMFight)
        {
            BattleManager.Instance.awardFinfish();
            yield break;
        }
        //恶魔挑战不播放战后动画
        if (BattleManager.battleData.isOneOnOneBossFight)
        {
            hideOther();
            UiManager.Instance.openDialogWindow <BossAwardWindow>((win) => {
                win.init(BattleManager.Instance.battleAwards, () => {
                    UiManager.Instance.switchWindow <EmptyWindow>((window) => {
                        ScreenManager.Instance.loadScreen(1, null, GameManager.Instance.outOneOnOneBossWindow);
                    });
                    BattleManager.battleData.isOneOnOneBossFight = false;
                });
            });
            yield break;
        }
        //  末日决战boss战阶段不播放胜利或失败动画//
        if (BattleManager.battleData.isLastBattleBossBattle)
        {
            hideOther();
            UiManager.Instance.openDialogWindow <LastBattleAwardWindow>((win) => {
                win.init(BattleManager.Instance.battleAwards, () => {
                    UiManager.Instance.switchWindow <EmptyWindow>((window) => {
                        ScreenManager.Instance.loadScreen(1, null, GameManager.Instance.outLastBattleWindow);
                    });
                    BattleManager.battleData.isLastBattleBossBattle = false;
                });
            });
            yield break;
        }
        // 末日决战结算界面//
        if (BattleManager.battleData.isLastBattle)
        {
            // 胜利//
            if (currentbattleData.winnerID == TeamInfo.OWN_CAMP)
            {
                StartCoroutine(showLastBattleAward());
                yield break;
            }
        }
        if (currentbattleData.isArenaMass || currentbattleData.isArenaFinal || currentbattleData.isGuide || currentbattleData.isLadders || currentbattleData.isPractice || currentbattleData.isGuildFight || currentbattleData.isMineralFightRecord || currentbattleData.isGodsWarFinal)
        {
            bool isWin = currentbattleData.winnerID == TeamInfo.OWN_CAMP;

            if (currentbattleData.isMineralFightRecord)
            {
                string name = BattleManager.battleData.winnerID == TeamInfo.ENEMY_CAMP ? currentbattleData.replayEnemyName : currentbattleData.replayAttackerName;
                TextTipWindow.Show(LanguageConfigManager.Instance.getLanguage("Arena39", name));
                yield return(new WaitForSeconds(1.5f));
            }

            if (currentbattleData.isArenaFinal)
            {
                string name = BattleManager.battleData.winnerID == TeamInfo.ENEMY_CAMP ? currentbattleData.replayEnemyName : currentbattleData.replayAttackerName;
                TextTipWindow.ShowNotUnlock(LanguageConfigManager.Instance.getLanguage("Arena39", name));

                yield return(new WaitForSeconds(1.5f));
            }
            if (currentbattleData.isGodsWarFinal)
            {
                string name = BattleManager.battleData.winnerID == TeamInfo.ENEMY_CAMP ? currentbattleData.replayEnemyName : currentbattleData.replayAttackerName;
                TextTipWindow.ShowNotUnlock(LanguageConfigManager.Instance.getLanguage("Arena39", name));

                yield return(new WaitForSeconds(1.5f));
            }
            if (currentbattleData.isArenaMass)              //delay do
            {
                if (isWin)
                {
                    yield return(new WaitForSeconds(4f));
                }
                else
                {
                    yield return(new WaitForSeconds(4.5f));
                }
            }
            else if (currentbattleData.isLadders)
            {
                if (currentbattleData.isLaddersRecord)
                {
                    string name = BattleManager.battleData.winnerID == TeamInfo.ENEMY_CAMP ? currentbattleData.replayEnemyName : currentbattleData.replayAttackerName;
                    TextTipWindow.Show(LanguageConfigManager.Instance.getLanguage("Arena39", name));
                    yield return(new WaitForSeconds(1.5f));
                }
                else
                {
                    LaddersManagement.Instance.currentChallengeTimes++;
                    LaddersWindow lw = UiManager.Instance.getWindow <LaddersWindow> ();
                    lw.fightBack = true;
                    lw.fightWin  = isWin;

                    if (isWin)
                    {
                        yield return(new WaitForSeconds(4f));
                    }
                    else
                    {
                        yield return(new WaitForSeconds(4.5f));
                    }
                }
            }
            else if (currentbattleData.isGuildFight)
            {
                GuildAreaWindow areaWindow = UiManager.Instance.getWindow <GuildAreaWindow>();
                if (areaWindow != null)
                {
                    areaWindow.isWin       = isWin;
                    areaWindow.isFightBack = true;
                }
                if (isWin)
                {
                    yield return(new WaitForSeconds(2f));
                }
                else
                {
                    yield return(new WaitForSeconds(2.5f));
                }
            }
            else if (currentbattleData.isGuide)
            {
                yield return(new WaitForSeconds(4.5f));
            }
            else if (currentbattleData.isPractice)
            {
                yield return(new WaitForSeconds(4.5f));
            }
            //锁屏幕,防止出去后狂点ArenaAuditionsWindow的关闭按钮报错

            BattleManager.Instance.awardFinfish();
            yield break;
        }

        //世界首领输赢都出去
        if (WorldBossManagerment.Instance.isAttackBoss)
        {
            yield return(new WaitForSeconds(3f));

            hideOther();
            BattleManager.Instance.awardFinfish();
            yield break;
        }
        //if (BattleManager.battleData.winnerID != TeamInfo.ENEMY_CAMP&&MissionInfoManager.Instance.mission!=null) {
        //    if(MissionInfoManager.Instance.mission.getChapterType() == ChapterType.TOWER_FUBEN)
        //    {
        //        yield return new WaitForSeconds(3f);
        //        hideOther();
        //        BattleManager.Instance.awardFinfish();
        //        yield break;
        //    }
        //}

        //敌人胜利的话
        if (BattleManager.battleData.winnerID == TeamInfo.ENEMY_CAMP && !currentbattleData.isGodsWarGroupFight && !currentbattleData.isOneOnOneBossFight)          //诸神战小组赛失败了也有奖励

        {
            int chapterType = 0;
            if (MissionInfoManager.Instance.mission != null)
            {
                chapterType = MissionInfoManager.Instance.mission.getChapterType();
            }

            //讨伐失败了没奖励的,提前出去
            if (FuBenManagerment.Instance.isWarAttackBoss)
            {
                FuBenManagerment.Instance.isWarAttackBossWin = false;
                popBattleStrengItem();
                yield break;
            }
            if (FuBenManagerment.Instance.isWarActiveFuben)
            {
                FuBenManagerment.Instance.isWarActiveWin = false;
                popBattleStrengItem();
                yield break;
            }

            //公会首领,修炼
            if ((GuildManagerment.Instance.isGuildBattle || chapterType == ChapterType.PRACTICE) && !BattleManager.battleData.isHeroRoad)
            {
                if (BattleManager.battleData.isPvP == false)
                {
                    yield return(new WaitForSeconds(3f));

                    //非pvp输了没奖励提前走掉
                    hideOther();
                    BattleManager.Instance.awardFinfish();
                    yield break;
                }
            }
            if (MissionInfoManager.Instance.isTowerFuben() && !BattleManager.battleData.isHeroRoad)
            {
                yield return(new WaitForSeconds(3f));

                hideOther();
                BattleManager.Instance.awardFinfish();
                if (MissionInfoManager.Instance.isTowerFuben())                    //判断是爬塔副本
                {
                    UiManager.Instance.openDialogWindow <MessageWindow>((win) => { //弹出卡片全部阵亡提示
                        win.initWindow(1, LanguageConfigManager.Instance.getLanguage("ladderButton"), "", LanguageConfigManager.Instance.getLanguage("towerShowWindow06"), (msgHandle) => {
                            UiManager.Instance.missionMainWindow.outTowerFuBen();
                        });
                    });
                }
                yield break;
            }
            else
            {
                popBattleStrengItem();
                yield break;
            }

            //if (chapterType == ChapterType.TOWER_FUBEN) {
            //    UiManager.Instance.openDialogWindow<MessageWindow>((win) => {
            //        win.initWindow(1, LanguageConfigManager.Instance.getLanguage("ladderButton"), "", LanguageConfigManager.Instance.getLanguage("towerShowWindow06"), (msgHandle) => {
            //            UiManager.Instance.missionMainWindow.outTowerFuBen();
            //        });
            //    });
            //    yield break;
            //}else {
            //    popBattleStrengItem ();
            //    yield break;
            //}
        }
        if (BattleManager.battleData.isPractice)
        {
            BattleManager.Instance.awardFinfish();
            yield break;
        }


        //建立奖励管理
        AwardDisplayCtrl ctrl = BattleManager.Instance.gameObject.AddComponent <AwardDisplayCtrl> ();

        //英雄之章直接战斗
        if (HeroRoadManagerment.Instance.isCurrentDirectFight())
        {
            yield return(new WaitForSeconds(3f));

            ctrl.Initialize(BattleManager.Instance.battleAwards, AwardManagerment.FB_END);
            BattleManager.Instance.playerTeam.hideAllParter();
            BattleManager.Instance.enemyTeam.hideAllParter();
//			ArmyManager.Instance.unActiveArmy ();
            yield break;
        }

        if (BattleManager.battleData.isPvP)
        {
            ctrl.Initialize(BattleManager.Instance.battleAwards, AwardManagerment.PVP);
        }
        else if (BattleManager.battleData.isArenaMass)
        {
            ctrl.Initialize(BattleManager.Instance.battleAwards, AwardManagerment.ARENA);
        }
        else if (BattleManager.battleData.isGodsWarGroupAward)
        {
            ctrl.Initialize(BattleManager.Instance.battleAwards, AwardManagerment.AWARDS_GODSWAR_GROUP);
        }
        else
        {
            ctrl.Initialize(BattleManager.Instance.battleAwards, AwardManagerment.PVE);
        }


        //yield return new WaitForSeconds (0.3f);



        //星星
        if (!BattleManager.battleData.isPvP && MissionInfoManager.Instance.mission != null)
        {
            if (MissionInfoManager.Instance.mission.getChapterType() == ChapterType.STORY)
            {
                yield return(new WaitForSeconds(showStar()));
            }
        }

        BattleManager.Instance.enemyTeam.hideAllParter();
        if (!BattleManager.battleData.isOneOnOneBossFight)
        {
            BattleManager.Instance.playerExpAdd(ctrl.activeAward);
        }
        float waitTime = 1.5f;

        if (UserManager.Instance.self.getVipLevel() > 0)
        {
            waitTime += 0.3f;
        }


        yield return(new WaitForSeconds(waitTime));

        bool isHaveBeast = false;        //是否有女神上阵并获得经验
        bool isBeastLvUp = false;        //女神是否升级

        BattleManager.Instance.playerTeam.hideAllParter();
        CharacterData tempGuardianForce = BattleManager.Instance.playerTeam.GuardianForce;

        if (tempGuardianForce != null && !BattleManager.Instance.playerTeam.GuardianForce.role.isMaxLevel())
        {
            EXPAward expAward = BattleManager.Instance.getEXPAwardByStoreID(tempGuardianForce, ctrl.activeAward);
            if (expAward != null)
            {
                isHaveBeast = true;
                //召唤兽进场
                BattleManager.Instance.playerTeam.showGuardianForce();
                //召唤兽exp
                yield return(new WaitForSeconds(0.5f));

                if (BattleManager.Instance.GuardianForceExpAdd(tempGuardianForce, expAward))
                {
                    isBeastLvUp = true;
                }
            }
        }

        hideOther();
        yield return(new WaitForSeconds(isHaveBeast ? (isBeastLvUp ? 2.5f : 1.5f) : 0.5f));

        BattleManager.Instance.EffectCamera.gameObject.SetActive(false);

        //讨伐战斗胜利结束处理,提前出去,不然会走AwardDisplayCtrl的openNextWindow,造成闪窗口现象
        if (FuBenManagerment.Instance.isWarAttackBoss && BattleManager.battleData.winnerID == TeamInfo.OWN_CAMP)
        {
            //赢了需要打通副本
            FuBenManagerment.Instance.completeMission(MissionInfoManager.Instance.mission.sid, MissionInfoManager.Instance.mission.getChapterType(), MissionInfoManager.Instance.mission.starLevel);
            //赢了需要扣除次数
            FuBenManagerment.Instance.intoMission(MissionInfoManager.Instance.mission.sid, MissionInfoManager.Instance.mission.starLevel);
            FuBenManagerment.Instance.warWinAward = ctrl.award;

            BattleManager.Instance.awardFinfish();
            if (MissionManager.instance != null)
            {
                MissionManager.instance.missionClean();
            }
            MissionInfoManager.Instance.clearMission();
            yield break;
        }
        //活动副本战斗胜利结束处理,提前出去,不然会走AwardDisplayCtrl的openNextWindow,造成闪窗口现象
        if (FuBenManagerment.Instance.isWarActiveFuben && BattleManager.battleData.winnerID == TeamInfo.OWN_CAMP)
        {
            //赢了需要扣除次数
            FuBenManagerment.Instance.intoMission(MissionInfoManager.Instance.mission.sid, MissionInfoManager.Instance.mission.starLevel);
            FuBenManagerment.Instance.ActiveWinAward = ctrl.award;

            BattleManager.Instance.awardFinfish();
            if (MissionManager.instance != null)
            {
                MissionManager.instance.missionClean();
            }
            MissionInfoManager.Instance.clearMission();
            yield break;
        }

        ctrl.openNextWindow();

        if (ctrl.award == null || ctrl.award.Length == 0)
        {
            yield return(new WaitForSeconds(3f));
        }
    }
    public override void read(ErlKVMessage message)
    {
        ErlType msg = message.getValue("msg") as ErlType;

        switch (tempCmd)
        {
        case get_info:
            readGetInfo(msg);
            break;

        case receive:
            string infoMsg1 = msg.getValueString();
            if (infoMsg1 == "ok")
            {
                NoticeManagerment.Instance.monthCardDayRewardEnable = false;
                TextTipWindow.ShowNotUnlock(LanguageConfigManager.Instance.getLanguage("s0120"));
            }
            else
            {
                MessageWindow.ShowAlert(infoMsg1);
            }
            break;

        case buy:
            /*
             * string infoMsg2=msg.getValueString();
             * if(infoMsg2 == "ok")
             * {
             *      MessageWindow.ShowAlert (LanguageConfigManager.Instance.getLanguage("monthCardBuySuccessTip"));
             * }else
             * {
             *      MessageWindow.ShowAlert (infoMsg2);
             * }
             */
            if (msg is ErlArray)
            {
                ErlArray parameters = msg as ErlArray;

                ErlArray receiveTime    = parameters.Value[0] as ErlArray;
                int      canReceiveTime = StringKit.toInt(parameters.Value[0].getValueString());
                DateTime time           = TimeKit.getDateTimeMin(canReceiveTime);
                int      receiveYear    = time.Year;
                int      receiveMonth   = time.Month;
                int      receiveDay     = time.Day;
                NoticeManagerment.Instance.monthCardDueDate = new int[3] {
                    receiveYear, receiveMonth, receiveDay
                };
                NoticeManagerment.Instance.monthCardDueSeconds = canReceiveTime;

                int canReceiveEnable = StringKit.toInt(parameters.Value[1].getValueString());
                NoticeManagerment.Instance.monthCardDayRewardEnable = canReceiveEnable == 1;

                MessageWindow.ShowAlert(LanguageConfigManager.Instance.getLanguage("monthCardBuySuccessTip"));
            }
            else
            {
                string infoMsg2 = msg.getValueString();
                MessageWindow.ShowAlert(infoMsg2);
            }
            break;
        }
        if (callback != null)
        {
            callback();
        }
    }