public void setupIcon() { AreaDataList.Clear(); var model = new AreaSelectListItemModel(0); model.OnAppeared += () => { model.ShowTitle(); }; if (IsIconView == false) { model.isActive = true; } else { model.isActive = false; } AreaDataContext newArea = new AreaDataContext(model); if (newArea != null) { newArea.m_AreaIndex = masters[currentIndex].fix_id; newArea.IsViewFlag = false; newArea.IsAreaNew = false; newArea.Title = masters[currentIndex].area_cate_name; newArea.PosX = 0; newArea.PosY = 0; // アセットバンドルの読み込み string assetBundleName = string.Format("areamapicon_{0}", masters[currentIndex].fix_id); // インジケーターを表示 LoadingManager.Instance.RequestLoadingStart(LOADING_TYPE.GUARD); AssetBundler.Create(). Set(assetBundleName, (o) => { newArea.IconImage = o.GetAsset <Sprite>(); newArea.IconImage_mask = o.GetTexture(newArea.IconImage.name + "_mask", TextureWrapMode.Clamp); LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.GUARD); AreaDataList.Add(newArea); }, (s) => { newArea.IconImage = ResourceManager.Instance.Load("maeishoku_icon"); LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.GUARD); }).Load(); } else { LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.GUARD); } idInputField.text = masters[currentIndex].fix_id.ToString(); }
public void AddAreaData(AreaDataContext newArea) { if (AreaDataList == null) { AreaDataList = new List <AreaDataContext>(); } AreaDataList.Add(newArea); }
public void AddAreaData(uint _index, string _title, Sprite _image, Vector2 _pos, System.Action <uint> _action) { var model = new AreaSelectListItemModel(_index); model.OnClicked += () => { _action(model.index); }; AreaDataContext newArea = new AreaDataContext(model); newArea.m_AreaIndex = _index; newArea.Title = _title; newArea.IconImage = _image; newArea.PosX = _pos.x; newArea.PosY = _pos.y; AddAreaData(newArea); }
void SelectArea(/*MasterDataDefineLabel.AreaCategory[] areaCategoryArray*/) { m_CurrentRegionMaster = MasterFinder <MasterDataRegion> .Instance.Find((int)MainMenuParam.m_RegionID); if (m_CurrentRegionMaster != null) { m_RegionMasterList = MainMenuUtil.CreateRegionList(m_CurrentRegionMaster.category); if (m_RegionMasterList.IsNullOrEmpty() == false) { if (m_RegionMasterList.Contains(m_CurrentRegionMaster) == false) { // 開催期間が切れた等で有効なデータが無い場合 ResidentParam.m_RegionIds[(int)m_CurrentRegionMaster.category] = 0; openWarningRegionDialog(); return; } } } MasterDataAreaCategory[] areaCategoryMasterArray = null; List <AreaDataContext> areaDataList = new List <AreaDataContext>(); new SerialProcess() .Add(next => { // インジケーターを表示 LoadingManager.Instance.RequestLoadingStart(LOADING_TYPE.ASSETBUNDLE); if (m_CurrentRegionMaster != null) { m_AreaSelect.IsViewRegionButton = (m_RegionMasterList != null && m_RegionMasterList.Count > 1); ResidentParam.m_RegionIds[(int)m_CurrentRegionMaster.category] = m_CurrentRegionMaster.fix_id; areaCategoryMasterArray = MasterFinder <MasterDataAreaCategory> .Instance.SelectWhere("where region_id = ?", MainMenuParam.m_RegionID).ToArray(); // Region ID毎の背景画像をAssetBundleからセットする. // AssetBundlePathMasterに該当のAssetBundleがあるか確認し, なければデフォルト画像を表示する. SetAreaBackground(m_CurrentRegionMaster.category, m_CurrentRegionMaster.fix_id, next); switch (m_CurrentRegionMaster.category) { case MasterDataDefineLabel.REGION_CATEGORY.STORY: m_AreaSelect.currentCategory = MasterDataDefineLabel.AreaCategory.RN_STORY; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("kk99p_description")); break; case MasterDataDefineLabel.REGION_CATEGORY.MATERIAL: m_AreaSelect.currentCategory = MasterDataDefineLabel.AreaCategory.RN_SCHOOL; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("kk101p_description")); break; case MasterDataDefineLabel.REGION_CATEGORY.EVENT: m_AreaSelect.currentCategory = MasterDataDefineLabel.AreaCategory.RN_EVENT; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("kk100p_description")); break; default: break; } } else { //MasterDataRegionがなかった時のセーフティ(データが設定されていないサーバーに接続した場合) #if BUILD_TYPE_DEBUG string messageText = "MasterDataRegionに有効なデータがありませんでした。\n" + "プランナーさんにマスターデータ設定が\n間違っていないか確認しください。\n" + "\n不明な場合は\nクライアントプログラマに報告してください。"; Dialog dloalog = DialogManager.Open1B_Direct("No MasterDataRegion", messageText, "common_button7", true, true) .SetOkEvent(() => { }); #endif m_AreaSelect.IsViewRegionButton = false; if (m_AreaCategory == null) { m_AreaCategory = new MasterDataDefineLabel.AreaCategory[] { MasterDataDefineLabel.AreaCategory.RN_STORY }; } string sqlInString = string.Join(",", Array.ConvertAll <MasterDataDefineLabel.AreaCategory, string>(m_AreaCategory, o => o.ToString("D"))); areaCategoryMasterArray = MasterFinder <MasterDataAreaCategory> .Instance.SelectWhere(string.Format(" where area_cate_type in( {0} )", sqlInString)).ToArray(); // 背景のリソース設定 if (0 <= Array.IndexOf(m_AreaCategory, MasterDataDefineLabel.AreaCategory.RN_STORY)) { m_AreaSelect.BackGroundImage = m_AreaSelect.backgroundSprites[0]; m_AreaSelect.currentCategory = MasterDataDefineLabel.AreaCategory.RN_STORY; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("kk99p_description")); } else if (0 <= Array.IndexOf(m_AreaCategory, MasterDataDefineLabel.AreaCategory.RN_SCHOOL)) { m_AreaSelect.BackGroundImage = m_AreaSelect.backgroundSprites[1]; m_AreaSelect.currentCategory = MasterDataDefineLabel.AreaCategory.RN_SCHOOL; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("kk101p_description")); } else if (0 <= Array.IndexOf(m_AreaCategory, MasterDataDefineLabel.AreaCategory.RN_EVENT)) { m_AreaSelect.BackGroundImage = m_AreaSelect.backgroundSprites[2]; m_AreaSelect.currentCategory = MasterDataDefineLabel.AreaCategory.RN_EVENT; MainMenuHeader.UnderMsgRequest(GameTextUtil.GetText("kk100p_description")); } // エリアアイコン読み込みに遷移. next(); } }).Add(next => { // エリアカテゴリリストの生成 m_AreaSelect.ClearAreaData(); m_areaIcons.Clear(); AssetBundlerMultiplier multiplier = AssetBundlerMultiplier.Create(); if (areaCategoryMasterArray != null) { for (int i = 0; i < areaCategoryMasterArray.Length; ++i) { string area_title = areaCategoryMasterArray[i].area_cate_name; uint area_cate_id = areaCategoryMasterArray[i].fix_id; Vector2 area_pos = new Vector2(areaCategoryMasterArray[i].btn_posx_offset, areaCategoryMasterArray[i].btn_posy_offset * -1); int index = m_areaIcons.Count; // areaCategoryMasterArrayのうち不採用のデータがあるので・・・ var model = makeAreaSelectModel(index, area_cate_id); AreaDataContext newArea = MainMenuUtil.CreateRNAreaCategory(area_cate_id, model); if (newArea != null) { newArea.Title = area_title; newArea.PosX = area_pos.x; newArea.PosY = area_pos.y; // アセットバンドルの読み込み string assetBundleName = string.Format("areamapicon_{0}", area_cate_id); multiplier.Add(AssetBundler.Create(). Set(assetBundleName, (o) => { newArea.IconImage = o.GetAsset <Sprite>(); newArea.IconImage_mask = o.GetTexture(newArea.IconImage.name + "_mask", TextureWrapMode.Clamp); }, (s) => { newArea.IconImage = ResourceManager.Instance.Load("maeishoku_icon"); }).Load()); areaDataList.Add(newArea); m_areaIcons.Add(model); } } //成長ボスアイコン if (m_CurrentRegionMaster.category == MasterDataDefineLabel.REGION_CATEGORY.EVENT && m_ChallengeAreaCategory != null) { uint area_cate_id = m_ChallengeAreaCategory.fix_id; Vector2 area_pos = new Vector2(m_ChallengeAreaCategory.btn_posx_offset, m_ChallengeAreaCategory.btn_posy_offset * -1); int index = m_areaIcons.Count; // areaCategoryMasterArrayのうち不採用のデータがあるので・・・ var model = makeAreaSelectModel(index, area_cate_id, true); model.isChallenge = true; AreaDataContext newArea = new AreaDataContext(model); newArea.m_AreaIndex = m_ChallengeAreaCategory.fix_id; newArea.IsViewFlag = false; //newArea.FlagImage = ResourceManager.Instance.Load("completed"); //newArea.FlagImage = ResourceManager.Instance.Load("clear"); newArea.IsAreaNew = false; newArea.Title = GameTextUtil.GetText("challenge_quest_title"); newArea.PosX = area_pos.x; newArea.PosY = area_pos.y; newArea.m_bufEvent = MainMenuUtil.IsCheckChallengeAmend(); // アセットバンドルの読み込み string assetBundleName = string.Format("areamapicon_{0}", area_cate_id); multiplier.Add(AssetBundler.Create(). Set(assetBundleName, (o) => { newArea.IconImage = o.GetAsset <Sprite>(); newArea.IconImage_mask = o.GetTexture(newArea.IconImage.name + "_mask", TextureWrapMode.Clamp); }, (s) => { newArea.IconImage = ResourceManager.Instance.Load("maeishoku_icon"); }).Load()); areaDataList.Add(newArea); m_areaIcons.Add(model); } } #if BUILD_TYPE_DEBUG else if (m_CurrentRegionMaster != null) { // MasterDataAreaCategory がなかった時のエラーダイアログ. string messageText = "MasterDataAreaCategory に\n有効なデータがありませんでした。\n" + "プランナーさんにマスターデータ設定が\n間違っていないか確認してください。\n" + "\n不明な場合は\nクライアントプログラマに報告してください。"; Dialog dloalog = DialogManager.Open1B_Direct("No MasterDataAreaCategory", messageText, "common_button7", true, true) .SetOkEvent(() => { }); } #endif multiplier.Load(() => { next(); }, () => { // エリアアイコンで読み込み出来ないものがあった場合も、 // 仮アイコンが設定されるため、アイコンリストを表示する.(進行不能対策) next(); }); }).Add(next => { SetAreaIconRoutine(areaDataList); m_AreaSelect.checkAnimationFinish(); // インジケーターを閉じる LoadingManager.Instance.RequestLoadingFinish(LOADING_TYPE.ASSETBUNDLE); }).Flush(); }