Пример #1
0
    void checkBattleRes()
    {
        if (!PlayerData.getInstance().isWaitingBattle || !PlayerData.getInstance().isFixedBattle)
        {
            return;
        }
        Debug.Log(PlayerData.getInstance().beforeEid);
        EncounterInfo  einfo   = GameStaticData.getInstance().getEncounterInfo(PlayerData.getInstance().beforeEid);
        EncounterStage es      = einfo.stages [PlayerData.getInstance().beforeStage];
        int            showIdx = -1;

        if (PlayerData.getInstance().battleWin)
        {
            showIdx = es.converts [0].nextStageIdx;
        }
        else
        {
            showIdx = es.converts [1].nextStageIdx;
        }
        if (showIdx != -1)
        {
            sbManager.initEncounter(einfo.eId, showIdx);
            sbManager.RequestFocus();
        }
        PlayerData.getInstance().isWaitingBattle = false;
    }
Пример #2
0
 public void SetStage(EncounterStage newStage)
 {
     foreach (EncounterStage stage in stages)
     {
         stage.gameObject.SetActive(false);
     }
     currentStage = newStage;
     currentStage.StartStage();
 }
Пример #3
0
 public void EndEncounter()
 {
     foreach (EncounterStage stage in stages)
     {
         stage.gameObject.SetActive(false);
     }
     gameObject.SetActive(false);
     currentStage = null;
 }
Пример #4
0
    void changeView(int stageIndex)
    {
        EncounterStage stage = null;

        converters.Clear();
        if (!encounter.stages.TryGetValue(stageIndex, out stage))
        {
            return;
        }
        if (stage.extra == "monster")
        {
            EnemyCombo ec = GameStaticData.getInstance().getEnemyWithValue(5);
            GameManager.getInstance().chaseByEnemy(ec);
        }
        else if (stage.extra == "toturial_monster")
        {
            EnemyCombo ec = GameStaticData.getInstance().getSpecifiedEnemy("toturial");
            GameManager.getInstance().chaseByEnemy(ec);
        }

        if (stage.stageType == eStageType.FINISH)
        {
            getRes(stage.res);
            return;
        }
        else if (stage.stageType == eStageType.BATTLE)
        {
            EncounterBattleInfo battleInfo = stage.battleInfo;

            PlayerData.getInstance().initBattle(encounter.eId, stageIndex, battleInfo);
            GameManager.getInstance().enterBattle();
            this.Hide();
            return;
        }
        else if (stage.stageType == eStageType.CHECK)
        {
            Debug.Log("check");

            int nextStage = -1;
            for (int i = 0; i < stage.converts.Count - 1; i++)
            {
                EncounterConvert convert    = stage.converts [i];
                bool             canConvert = checkConditions(convert.checks);
                if (canConvert)
                {
                    nextStage = convert.nextStageIdx;
                    break;
                }
            }
            if (nextStage == -1)
            {
                nextStage = stage.converts [stage.converts.Count - 1].nextStageIdx;
            }
            if (nextStage != -1)
            {
                stageIndex = nextStage;
                changeView(stageIndex);
            }
            else
            {
                Debug.Log("error");
                panelHide();
            }
        }
        else if (stage.stageType == eStageType.RANDOM)
        {
            int randomInt = Random.Range(0, 99);
            int nextStage = -1;
            for (int i = 0; i < stage.converts.Count - 1; i++)
            {
                EncounterConvert convert    = stage.converts [i];
                bool             canConvert = checkConditions(convert.checks, randomInt);
                if (canConvert)
                {
                    nextStage = convert.nextStageIdx;
                    break;
                }
            }
            if (nextStage == -1)
            {
                nextStage = stage.converts [stage.converts.Count - 1].nextStageIdx;
            }
            if (nextStage != -1)
            {
                stageIndex = nextStage;
                changeView(stageIndex);
            }
            else
            {
                Debug.Log("error");
                panelHide();
            }
        }
        else
        {
            _text.text = stage.desp;
            int idx = 0;


            _branches.ClearSelection();
            _branches.RemoveChildrenToPool();


//			for(int i=0;i<items.Count;i++)
//			{
//				NewItem item = (NewItem)_new_item_list.AddItemFromPool();
//				item.init (items[i]);
//				item.onClick.Add (delegate() {
//					if(_new_item_list.selectedIndex!=-1){
//						_confirm.visible = true;
//					}
//					if (PlayerData.getInstance ().guideStage == 10) {
//						GuideManager.getInstance ().showGuideConfirmChooseItem ();
//						PlayerData.getInstance ().guideStage = 11;
//					}
//				});
//				item.GetChild ("detail").onTouchBegin.Add (delegate() {
//					//Debug.Log("Show Detail");
//				});
//			}

            int numOfBranch = 0;


            for (int i = 0; i < stage.converts.Count; i++)
            {
                EncounterConvert convert = stage.converts [i];
                bool             canShow = checkConditions(convert.checks);
                //EncounterConvert convert = stage.converts [i];
                if (canShow)
                {
                    SelectionBranch item = (SelectionBranch)_branches.AddItemFromPool().asButton;
                    item.init(numOfBranch++, convert.choiceDesp);
                    item.visible = true;
                    converters.Add(convert);
                }
            }
            _branches.ResizeToFit(numOfBranch);

//			for (int i = 0; i < stage.converts.Count; i++) {
//				EncounterConvert convert = stage.converts [i];
//				bool canShow = checkConditions (convert.checks);
//				//EncounterConvert convert = stage.converts [i];
//				if (canShow) {
//
//					SelectionBranch item = (SelectionBranch)_branches.GetChildAt (i).asButton;
//					item.idx = numOfBranch ++ ;
//
//					_branches.GetChildAt(idx).asButton.title = convert.choiceDesp;
//					_branches.GetChildAt(idx).visible = true;
//					converters.Add (convert);
//					idx++;
//
//
//				}
//			}
//			for (int i = idx; i < MAX_BRANCH_NUM; i++) {
//				_branches.GetChildAt(i).asButton.title ="";
//				_branches.GetChildAt(i).visible = false;
//			}

            _loader.url = "Explore/default_bg";
        }

        if (PlayerData.getInstance().guideStage == 2)
        {
            PlayerData.getInstance().guideStage = 3;
            GuideManager.getInstance().showGuideChooseBranch();
        }
        else if (PlayerData.getInstance().guideStage == 3)
        {
            PlayerData.getInstance().guideStage = 4;
            GuideManager.getInstance().showGuideChooseBranch();
        }
        else if (PlayerData.getInstance().guideStage == 4)
        {
            GuideManager.getInstance().hideGuide();
        }
    }