コード例 #1
0
    void clickItem(EventContext context)
    {
        SelectionBranch item = (SelectionBranch)context.data;

        chooseBranch(item.getIndex());
    }
コード例 #2
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();
        }
    }