Beispiel #1
0
    public void SweepFinish(int nCount)
    {
        if (m_SweepAwardInfo == null)
        {
            return;
        }

        Tab_StoryCopyScene tBook = TableManager.GetStoryCopySceneByID(m_nStoryCopySceneID, 0);

        if (tBook == null)
        {
            return;
        }

        // 更新按钮和次数状态
        UpdateTiaozhanDayCount(tBook);
        UpdateTiaozhanButtonState();
        UpdateSweepButtonState();

        // 初始化界面
        InitSweepAwardInfo(tBook, nCount);

        // 显示扫荡奖励界面
        m_SweepAwardInfo.SetActive(true);
    }
    void InitStarCondition()
    {
        //GameManager.gameManager.mai
        if (!GameManager.gameManager.ActiveScene.IsStoryCopyScene())
        {
            return;
        }

        Tab_SceneClass tabSceneClass = TableManager.GetSceneClassByID(GameManager.gameManager.RunningScene, 0);

        if (tabSceneClass == null)
        {
            return;
        }

        int nStoryCopySceneID    = tabSceneClass.CopySceneID;
        Tab_StoryCopyScene tBook = TableManager.GetStoryCopySceneByID(nStoryCopySceneID, 0);

        if (tBook == null)
        {
            return;
        }

        UpdateLevelStarDescrib(tBook);
    }
Beispiel #3
0
    void InitSweepAwardInfo(Tab_StoryCopyScene tBook, int nCount)
    {
        if (tBook == null)
        {
            return;
        }

        int nSweepAwardID = tBook.SweepReward;
        Tab_StoryCopySceneAward tSweepAward = TableManager.GetStoryCopySceneAwardByID(nSweepAwardID, 0);

        if (tSweepAward == null)
        {
            return;
        }

        // 金币
        UpdateSweepAwardCoin(tSweepAward, nCount);

        // 经验
        UpdateSweepAwardExp();

        // 宠物经验
        UpdateSweepAwardFellowExp();

        // 经验数字
        UpdateSweepAwardExp_Num(tSweepAward, nCount);

        // 宠物经验数字
        UpdateSweepAwardFellowExp_Num(tSweepAward, nCount);
    }
Beispiel #4
0
    void UpdateBuyCount()
    {
        Tab_StoryCopyScene pStoryCopyScene = TableManager.GetStoryCopySceneByID(0, 0);

        if (pStoryCopyScene != null)
        {
            int nTotal = GameManager.gameManager.PlayerDataPool.JuQingCopySceneData.GetLevelByLevelID(0).m_nDayCount;
            m_CiShuBuyNumLabel.text = nTotal.ToString() + "/" + pStoryCopyScene.TimesPerDay.ToString();
        }
    }
 public void UpdateLevelStarDescrib(Tab_StoryCopyScene tBook)
 {
     for (int nIndex = 0; nIndex < tBook.getStarDescribCount(); ++nIndex)
     {
         if (nIndex >= 0 && nIndex < m_ConditionText.Length)
         {
             string temp = "#{" + tBook.GetStarDescribbyIndex(nIndex).ToString() + "}";
             m_ConditionText[nIndex].text = StrDictionary.GetClientDictionaryString(temp);
         }
     }
 }
Beispiel #6
0
 public void UpdateTiaozhanDayCount(Tab_StoryCopyScene tBook)
 {
     if (null != tBook && null != GameManager.gameManager.PlayerDataPool.JuQingCopySceneData)
     {
         int nTiaozhanDayCount = GameManager.gameManager.PlayerDataPool.JuQingCopySceneData.GetLevelByLevelID(0).m_nDayCount;
         //int nRemainDayCount = tBook.TimesPerDay - nTiaozhanDayCount;
         int nRemainDayCount = nTiaozhanDayCount;
         //m_TiaozhanDayCount.text = StrDictionary.GetClientDictionaryString("#{10135}", nRemainDayCount, tBook.TimesPerDay);
         m_TiaozhanCount.text = nRemainDayCount + "/" + tBook.TimesPerDay;
         m_TiaozhanCountOnSweepResult.text = nRemainDayCount.ToString();
     }
 }
Beispiel #7
0
    public void UpdatePassAward(Tab_StoryCopyScene tBook)
    {
        if (m_PassAwardItem == null)
        {
            return;
        }

        int nPassAwardID = tBook.PassReward;
        Tab_StoryCopySceneAward tPassAward = TableManager.GetStoryCopySceneAwardByID(nPassAwardID, 0);

        if (tPassAward != null)
        {
            int mRewardIndex = 0;
            if (tPassAward.Coin > 0)
            {
                SetPassRewardItem(mRewardIndex, StoryCopyAwardItemType.ITEM_MONEY, -1, tPassAward.Coin);
                mRewardIndex++;
            }
            if (tPassAward.Exp > 0)
            {
                SetPassRewardItem(mRewardIndex, StoryCopyAwardItemType.ITEM_EXP, -1, tPassAward.Exp);
                mRewardIndex++;
            }
            if (tPassAward.BindYuanBao > 0)
            {
                SetPassRewardItem(mRewardIndex, StoryCopyAwardItemType.ITEM_BDYUANBAO, -1, tPassAward.BindYuanBao);
                mRewardIndex++;
            }
            if (tPassAward.FellowExp > 0)
            {
                SetPassRewardItem(mRewardIndex, StoryCopyAwardItemType.ITEM_FELLOWEXP, -1, tPassAward.FellowExp);
                mRewardIndex++;
            }

            for (int k = 0; k < 4; k++)
            {
                if (tPassAward.GetItemIDbyIndex(k) > 0)
                {
                    SetPassRewardItem(mRewardIndex, StoryCopyAwardItemType.ITEM_ITEM, tPassAward.GetItemIDbyIndex(k), tPassAward.getItemIDCount());
                    mRewardIndex++;
                }
            }

            for (int i = mRewardIndex; i < m_PassAwardItem.Length; i++)
            {
                m_PassAwardItem[i].gameObject.SetActive(false);
            }
        }
    }
Beispiel #8
0
    public void UpdateStarAward(Tab_StoryCopyScene tBook)
    {
        for (int nIndex = 0; nIndex < tBook.getStarRewardCount(); ++nIndex)
        {
            int nAwardID = tBook.GetStarRewardbyIndex(nIndex);

            Tab_StoryCopySceneAward tStarAward = TableManager.GetStoryCopySceneAwardByID(nAwardID, 0);
            if (tStarAward != null)
            {
                int nItemID = tStarAward.GetItemIDbyIndex(0);
                if (nItemID > 0)
                {
                    m_BonusItem[nIndex].SetShowItem(nItemID, 1, true, true);
                }
            }
        }
    }
Beispiel #9
0
    void OnUpdateStoryCopySceneInfo()
    {
        Tab_StoryCopyScene tBook = TableManager.GetStoryCopySceneByID(m_nStoryCopySceneID, 0);

        if (tBook != null)
        {
            // 关卡名
            UpdateLevelName(tBook);

            // 关卡介绍
            UpdateLevelInfo(tBook);

            // 关卡星级条件
            UpdateLevelStarDescrib(tBook);

            // 星级奖励
            UpdateStarAward(tBook);

            // 关卡奖励
            UpdatePassAward(tBook);

            // 星
            UpdateStarInfo();

            // 挑战按钮
            UpdateTiaozhanButtonState();

            // 挑战次数
            UpdateTiaozhanDayCount(tBook);

            // 扫荡按钮
            UpdateSweepButtonState();

            // 扫荡次数
            //UpdateSweepCount();

            // 战力
            UpdateZhanli();

            // 推荐战力
            UpdateTuijianZhanli(tBook);
        }
    }
Beispiel #10
0
    public void UpdateTuijianZhanli(Tab_StoryCopyScene tBook)
    {
        if (m_TuijianZhanli == null)
        {
            return;
        }

        int nTuijianZhanli = tBook.CombatValue;
        int nZhanli        = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.CombatValue;

        if (nTuijianZhanli > nZhanli)
        {
            m_TuijianZhanli.text = "[ff0006]" + nTuijianZhanli.ToString();
        }
        else
        {
            m_TuijianZhanli.text = nTuijianZhanli.ToString();
        }
    }
    void InitStarAward(Tab_StoryCopyScene tBook, bool bWin)
    {
        bool[] bPreStarGot = new bool[3];

        StoryCopySceneLevelInfo levelInfo = GameManager.gameManager.PlayerDataPool.JuQingCopySceneData.GetLevelByLevelID(tBook.Id);

        bPreStarGot[0] = levelInfo.IsPreGetStar1();
        bPreStarGot[1] = levelInfo.IsPreGetStar2();
        bPreStarGot[2] = levelInfo.IsPreGetStar3();

        int nAwardCount = 0;

        if (!bWin)
        {
            return;
        }

        for (int nIndex = 0; nIndex < tBook.getStarRewardCount(); ++nIndex)
        {
            int nAward = tBook.GetStarRewardbyIndex(nIndex);

            Tab_StoryCopySceneAward tSCS = TableManager.GetStoryCopySceneAwardByID(nAward, 0);
            if (tSCS != null)
            {
                for (int nAwardIndex = 0; nAwardIndex < tSCS.getItemIDCount() && nAwardIndex < tSCS.getItemNumCount(); ++nAwardIndex)
                {
                    int nID  = tSCS.GetItemIDbyIndex(nAwardIndex);
                    int nNum = tSCS.GetItemNumbyIndex(nAwardIndex);
                    if (nID > 0 && nNum > 0)
                    {
                        if (nAwardCount >= 0 && nAwardCount < m_BonusItem.Length && nIndex < m_StarGot.Length && m_StarGot[nIndex])
                        {
                            m_BonusItem[nIndex].gameObject.SetActive(true);
                            m_BonusItem[nIndex].SetShowItem(nID, nNum, m_StarGot[nIndex], bPreStarGot[nIndex]);
                            nAwardCount++;
                            break;
                        }
                    }
                }
            }
        }
    }
        public bool IsCanSweep(int nStoryCopySceneID)
        {
            Tab_StoryCopyScene tabStoryCopyScene = TableManager.GetStoryCopySceneByID(nStoryCopySceneID, 0);

            if (null == tabStoryCopyScene)
            {
                return(false);
            }

            bool bEnable = true;

            // 是否三星
            if (!GetLevelByLevelID(nStoryCopySceneID).IsGetStar1())
            {
                bEnable = false;
            }
            if (!GetLevelByLevelID(nStoryCopySceneID).IsGetStar2())
            {
                bEnable = false;
            }
            if (!GetLevelByLevelID(nStoryCopySceneID).IsGetStar3())
            {
                bEnable = false;
            }

            // 是否有扫荡令
//			if (null != GameManager.gameManager.PlayerDataPool.BackPack)
//			{
//				if (0 >= GameManager.gameManager.PlayerDataPool.BackPack.GetItemCountByDataId(JuQingCopySceneData.STORYCOPYSCENE_SAODANGLING_ITEMID))
//				{
//					bEnable = false;
//				}
//			}

            // 是否能挑战
            if (!IsCanTiaozhan(nStoryCopySceneID))
            {
                bEnable = false;
            }

            return(bEnable);
        }
        public bool IsCanTiaozhan(int nStoryCopySceneID)
        {
            Tab_StoryCopyScene tabStoryCopyScene = TableManager.GetStoryCopySceneByID(nStoryCopySceneID, 0);

            if (null == tabStoryCopyScene)
            {
                return(false);
            }

            int nTiaozhanDayCount = GetLevelByLevelID(0).m_nDayCount;
            //int nRemainDayCount = tabStoryCopyScene.TimesPerDay - nTiaozhanDayCount;
            int  nRemainDayCount = nTiaozhanDayCount;
            int  nMission        = tabStoryCopyScene.CheckMission;
            bool bHaveMission    = GameManager.gameManager.MissionManager.IsHaveMission(nMission);

            if (0 >= nRemainDayCount && !bHaveMission)
            {
                return(false);
            }

            return(true);
        }
    void Init(bool bWin)
    {
        clear();
        //get data from playerdata

        int nStoryID = GameManager.gameManager.ActiveScene.GetStoryCopySceneID();

        m_StarTimer = Time.time;

        if (bWin)
        {
            m_StarEffectShow = true;
            m_FailObj.SetActive(true);
            m_Title.text = StrDictionary.GetClientDictionaryString("#{3827}");
        }

        StoryCopySceneScoreInfo info = GameManager.gameManager.PlayerDataPool.JuQingCopySceneData.GetLastScore();

        m_StarGot[0] = info.m_bFirstStarGet;
        m_StarGot[1] = info.m_bSecondStarGet;
        m_StarGot[2] = info.m_bThirdStarGet;

        //update info
        Tab_StoryCopyScene tBook = TableManager.GetStoryCopySceneByID(nStoryID, 0);

        if (tBook != null)
        {
            //condition///////////////////////////////////////////////////////
            InitCondition(tBook);

            //Bonus//////////////////////////////////////////////////////////////
            InitStarAward(tBook, bWin);

            InitLeft(tBook, bWin);
        }
    }
        /// <summary>
        /// 因为需要从副本里出来后打开副本主界面,所以需要在这个消息响应函数里添加打开界面逻辑
        /// </summary>
        private void OnEnterSceneFinish()
        {
//			Tab_SceneClass lastSceneClass = TableManager.GetSceneClassByID(GameManager.gameManager.LastRunningScene, 0);
//			if (lastSceneClass != null)
//			{
//				if (lastSceneClass.Type == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_TYPE.SCENETYPE_STORYCOPYSCENE &&
//				    !GameManager.gameManager.ActiveScene.IsCopyScene())
//				{
//					UIManager.ShowUI(UIInfo.Activity);
//				}
//			}
            // 如果进入了剧情副本,则创建相应的触发器和动态阻挡
            if (GameManager.gameManager.ActiveScene.IsStoryCopyScene())
            {
                Tab_SceneClass scLine = TableManager.GetSceneClassByID(GameManager.gameManager.RunningScene, 0);
                if (scLine != null)
                {
                    Tab_StoryCopyScene scsLine = TableManager.GetStoryCopySceneByID(scLine.CopySceneID, 0);
                    if (scsLine != null)
                    {
                        // 阻挡
                        string   dynamicObstacleStr = scsLine.ObstaclesID;
                        string[] dynamicObstacles   = dynamicObstacleStr.Split('_');
                        foreach (string s in dynamicObstacles)
                        {
                            int id = -1;
                            if (int.TryParse(s, out id))
                            {
                                Tab_DynamicObstacle doLine = TableManager.GetDynamicObstacleByID(id, 0);
                                if (doLine != null)
                                {
                                    DynamicObstacle.CreateObstacle(id);
                                }
                                else
                                {
                                    LogModule.ErrorLog("Cant find dynamicObstacle {0}", id);
                                }
                            }
                            else
                            {
                                LogModule.ErrorLog("Cant read dynamicObstacle id from {0} in StoryCopyScene {1}", dynamicObstacleStr, scLine.CopySceneID);
                            }
                        }

                        // 改为服务器给客户端发包创建
//						// 触发器
//						Tab_StoryCopySceneFlow scsfLine = TableManager.GetStoryCopySceneFlowByID(scLine.CopySceneID, 0);
//						if (scsfLine != null)
//						{
//							int triggerCnt = scsfLine.getTriggerCount();
//							for (int i = 0; i < triggerCnt; i++)
//							{
//								int triggerId = scsfLine.GetTriggerbyIndex(i);
//								if (triggerId != -1)
//								{
//									if (!CabalTrigger.CreateTrigger(triggerId))
//									{
//										LogModule.ErrorLog("Create trigger failed when enter storyCopyScene {0}", scLine.CopySceneID);
//									}
//								}
//							}
//						}
//						else
//						{
//							LogModule.ErrorLog("Cant find StoryCopySceneFlow {0}", scLine.CopySceneID);
//						}
                    }
                    else
                    {
                        LogModule.ErrorLog("Cant find StoryCopyScene {0}", scLine.CopySceneID);
                    }
                }
            }
        }
Beispiel #16
0
 void UpdateLevelName(Tab_StoryCopyScene tBook)
 {
     m_NameLabel.text = tBook.LevelName;
 }
Beispiel #17
0
 void UpdateLevelInfo(Tab_StoryCopyScene tBook)
 {
     m_IntroLabel.text = tBook.LevelInfo;
 }
    void InitLeft(Tab_StoryCopyScene tBook, bool bWin)
    {
        if (!bWin)
        {
            return;
        }

        int nAwardExp  = 0;
        int nAwardCoin = 0;
        int nAwardFExp = 0;
//		int nAwardYB = 0;

        Tab_StoryCopySceneAward tabPassReward = TableManager.GetStoryCopySceneAwardByID(tBook.PassReward, 0);

        if (null != tabPassReward)
        {
            nAwardCoin = tabPassReward.Coin;
            nAwardExp  = tabPassReward.Exp;
            nAwardFExp = tabPassReward.FellowExp;
//			nAwardYB = tabPassReward.BindYuanBao;
            for (int nIndex = 0; nIndex < tabPassReward.getItemIDCount(); ++nIndex)
            {
                int nPassIndex = nIndex + 3;
                if (m_BonusItem.Length <= nPassIndex)
                {
                    break;
                }
                int nPassRewardItemID  = tabPassReward.GetItemIDbyIndex(nIndex);
                int nPassRewardItemNum = tabPassReward.GetItemNumbyIndex(nIndex);
                if (0 < nPassRewardItemID && 0 < nPassRewardItemNum)
                {
                    m_BonusItem[nPassIndex].gameObject.SetActive(true);
                    m_BonusItem[nPassIndex].SetShowItem(nPassRewardItemID, nPassRewardItemNum, true, true);
                    //nAwardCount++;
                }
                else
                {
                    break;
                }
            }
        }

        int CoinFromNum = 0;
        int CoinToNum   = nAwardCoin;

        float FexpFromValue = GetCurLevelBattleFellowTotalExp() == 0 ? 0 : (float)(GetCurBattleFellowExp() - nAwardFExp) / GetCurLevelBattleFellowTotalExp();
        float FexpToValue   = GetCurLevelBattleFellowTotalExp() == 0 ? 0 : (float)GetCurBattleFellowExp() / GetCurLevelBattleFellowTotalExp();

        float ExpFromValue = (float)(GetCurPlayerExp() - nAwardExp) / GetCurLevelPlayerTotalExp();
        float ExpToValue   = (float)(GetCurPlayerExp()) / GetCurLevelPlayerTotalExp();

        //因为宠物经验在目前游戏计算有问题,所以按照策划意思,先写死,有个效果
        FexpFromValue = 0.4f;
        FexpToValue   = 0.7f;

        m_TweenNumLable = TweenNumber.Begin(m_Coin.gameObject, 2, CoinFromNum, CoinToNum);
        m_TweenNumLable.onUpdatingNum = RefreshLabelText;

        m_ExpSlider.value            = getSliderValue(ExpFromValue);
        m_TweenSlider1               = TweenNumber.Begin(m_ExpSlider.gameObject, 2, ExpFromValue, ExpToValue);
        m_TweenSlider1.onUpdatingNum = RefreshSlider1;

        m_FexpSlider.value           = getSliderValue(FexpFromValue);
        m_TweenSlider2               = TweenNumber.Begin(m_FexpSlider.gameObject, 2, FexpFromValue, FexpToValue);
        m_TweenSlider2.onUpdatingNum = RefreshSlider2;
        //m_Coin.text = nAwardCoin.ToString();
        //m_Exp.text = nAwardExp.ToString();
        //m_FExp.text = nAwardFExp.ToString();
        //m_BindYuanbao.text = nAwardYB.ToString();
    }