protected override void Start() { base.Start(); episodeQuestSelect.SetPosition(new Vector2(0, -44), new Vector2(0, -251)); // episodeQuestSelect.BackGroundImage = BGSprite; episodeQuestSelect.EpisodeTitle = "エピソード名"; episodeQuestSelect.AreaTitle = "エリア名"; Sprite select1 = ResourceManager.Instance.Load("icon_circle_1"); Sprite select2 = ResourceManager.Instance.Load("icon_circle_2"); for (int i = 0; i < AreaCount; i++) { uint index = (uint)i; var model = new EpisodeDataListItemModel(index); model.OnClicked += () => { }; EpisodeDataContext newEpisode = new EpisodeDataContext(model); if (i == 0) { newEpisode.SelectImage = select2; newEpisode.IsSelected = true; } else { newEpisode.SelectImage = select1; newEpisode.IsSelected = false; } newEpisode.m_EpisodeId = index; episodeQuestSelect.EpisodeList.Add(newEpisode); } for (int i = 0; i < QuestCount; i++) { uint index = (uint)i; var model = new ListItemModel(index); model.OnClicked += () => { }; QuestDataContext newQuest = new QuestDataContext(model); //cnewQuest.BackGroundTexture = BGSprite.texture; newQuest.Title = "クエスト" + index.ToString(); newQuest.Index = index; newQuest.Point = ((uint)(index * 5) + 5).ToString(); newQuest.SelectImage = select2; newQuest.IconLabel = "BOSS"; newQuest.m_QuestId = index; episodeQuestSelect.QuestList.Add(newQuest); // TODO : 演出を入れるならその場所に移動 model.Appear(); model.SkipAppearing(); } }
void Start() { m_model = Context.model; SetModel(m_model); m_model.OnShowedArrow += () => { //m_arrowAnimation.PlayQueued(ArrowAppearAnimationName); }; m_model.OnHideArrow += () => { //m_arrowAnimation.PlayQueued(ArrowDisappearAnimationName); }; RegisterKeyEventCallback("next", () => { m_model.ShowNext(); }); m_model.ViewInstantidated(); }
public EpisodeDataContext(EpisodeDataListItemModel listItemModel) { m_model = listItemModel; }
/// <summary> /// エリア更新 /// </summary> private void setupArea(MasterDataArea[] areaArray) { m_QuestSelect.EpisodeList.Clear(); m_episodeButtons.Clear(); uint _count = 0; for (int i = 0; i < areaArray.Length; i++) { bool hasArea = false; bool hasQuestCleard = true; bool hasQuestCompleted = true; bool hasQuestNew = false; MasterDataGuerrillaBoss guerrillaBoss = null; MainMenuUtil.ChkActiveArea(m_MasterAreaCategory, areaArray[i], ref hasArea, ref hasQuestCompleted, ref hasQuestCleard, ref hasQuestNew, ref guerrillaBoss); if (!hasArea) { continue; } uint index = _count; var model = new EpisodeDataListItemModel(index); model.OnClicked += () => { SelectArea(index, true); }; model.OnViewInstantidated += () => { if (m_episodeButtons.Count > index + 1) { return; } model.Appear(); }; model.OnShowedNext += () => { if (index == 0) { return; } m_episodeButtons[(int)index - 1].Appear(); }; EpisodeDataContext newEpisode = new EpisodeDataContext(model); newEpisode.master = areaArray[i]; newEpisode.masterDataAreaCategory = m_MasterAreaCategory; newEpisode.amend = MainMenuUtil.CreateAreaParamAmend(newEpisode.master); newEpisode.m_EpisodeId = (uint)i + 1; newEpisode.IconImage = ResourceManager.Instance.Load("icon_city"); newEpisode.SelectImage = m_UnSelectSprite; newEpisode.IsSelected = false; updateEpisodeFlag(newEpisode, hasQuestCleard, hasQuestCompleted, guerrillaBoss); updateEpsodeTime(newEpisode, newEpisode.master); m_QuestSelect.EpisodeList.Add(newEpisode); m_episodeButtons.Add(model); _count++; } //選択できるエリアがない if (m_QuestSelect.EpisodeList.Count == 0) { openWarningAreaDialog(); return; } //指定エリア選択 if (MainMenuParam.m_JmpQuestSelectAreaID != 0) { for (int i = 0; i < m_QuestSelect.EpisodeList.Count; i++) { if (m_QuestSelect.EpisodeList[i].master.fix_id == MainMenuParam.m_JmpQuestSelectAreaID) { SelectArea((uint)i); return; } } } //指定がないときは一番下のエリア選択 SelectArea((uint)(m_QuestSelect.EpisodeList.Count - 1)); }