private void Update() { if (this.mLoadRequest == null || Object.op_Equality((Object)this.mTarget, (Object)null)) { ((Behaviour)this).set_enabled(false); } else { if (!this.mLoadRequest.isDone) { return; } BannerParam dataOfClass = DataSource.FindDataOfClass <BannerParam>(((Component)this).get_gameObject(), (BannerParam)null); if (dataOfClass == null) { return; } GachaTabSprites asset = this.mLoadRequest.asset as GachaTabSprites; if (Object.op_Inequality((Object)asset, (Object)null) && asset.Sprites != null && asset.Sprites.Length > 0) { Sprite[] sprites = asset.Sprites; for (int index = 0; index < sprites.Length; ++index) { if (Object.op_Inequality((Object)sprites[index], (Object)null) && ((Object)sprites[index]).get_name() == dataOfClass.banr_sprite) { this.mTarget.set_sprite(sprites[index]); } } } ((Behaviour)this).set_enabled(false); } }
private void Start() { this.mTarget = (Image)((Component)this).GetComponent <Image>(); BannerParam dataOfClass = DataSource.FindDataOfClass <BannerParam>(((Component)this).get_gameObject(), (BannerParam)null); if (dataOfClass == null) { return; } this.mLoadRequest = AssetManager.LoadAsync <GachaTabSprites>(dataOfClass.banner); }
private void Setup(BannerParam[] _params) { if (_params == null || _params.Length <= 0) { DebugUtility.LogError("イベントバナーデータが存在しません"); } else if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.EventBannerTemplate, (UnityEngine.Object)null)) { DebugUtility.LogError("テンプレートオブジェクトが指定されていません"); } else { this.m_EventBannerList.Clear(); for (int index = 0; index < _params.Length; ++index) { BannerParam bannerParam = _params[index]; int num = index; if (bannerParam != null) { GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate <GameObject>((M0)this.EventBannerTemplate); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)gameObject, (UnityEngine.Object)null)) { gameObject.get_transform().SetParent(this.ListRoot, false); EventPopupListItem component1 = (EventPopupListItem)gameObject.GetComponent <EventPopupListItem>(); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component1, (UnityEngine.Object)null)) { component1.SetupBannerParam(bannerParam); } ButtonEvent component2 = (ButtonEvent)gameObject.GetComponent <ButtonEvent>(); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component2, (UnityEngine.Object)null)) { ButtonEvent.Event @event = component2.GetEvent("EVENTPOPUP_BANNER_SELECT"); if (@event != null) { @event.valueList.SetField("select", num); } } gameObject.SetActive(true); this.m_EventBannerList.Add(gameObject); } } } } }
void IFlowInterface.Activated(int pinID) { switch (pinID) { case 1: if (this.Refresh()) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 48); break; } FlowNode_GameObject.ActivateOutputLinks((Component)this, 49); break; case 10: if (this.mMove != null) { break; } this.mMove = this.movePage(this.mPage, this.mPage + 1); break; case 11: if (this.mMove != null) { break; } this.mMove = this.movePage(this.mPage, this.mPage - 1); break; case 12: BannerParam currentPageBannerParam = this.getCurrentPageBannerParam(); PlayerData player = MonoSingleton <GameManager> .Instance.Player; if (currentPageBannerParam == null) { break; } switch (currentPageBannerParam.type) { case BannerType.storyQuest: if (!this.setQuestVariables(currentPageBannerParam.sval, true)) { return; } GlobalVars.SelectedQuestID = (string)null; FlowNode_GameObject.ActivateOutputLinks((Component)this, 50); return; case BannerType.eventQuest: GlobalVars.ReqEventPageListType = GlobalVars.EventQuestListType.EventQuest; this.setQuestVariables(currentPageBannerParam.sval, false); FlowNode_GameObject.ActivateOutputLinks((Component)this, 51); return; case BannerType.multiQuest: if (player.CheckUnlock(UnlockTargets.MultiPlay)) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 55); return; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.MultiPlay); return; case BannerType.gacha: GlobalVars.SelectedGachaTableId = currentPageBannerParam.sval; FlowNode_GameObject.ActivateOutputLinks((Component)this, 53); return; case BannerType.shop: FlowNode_GameObject.ActivateOutputLinks((Component)this, 52); return; case BannerType.url: if (!string.IsNullOrEmpty(currentPageBannerParam.sval)) { Application.OpenURL(currentPageBannerParam.sval); } FlowNode_GameObject.ActivateOutputLinks((Component)this, 54); return; case BannerType.towerQuest: if (player.CheckUnlock(UnlockTargets.TowerQuest)) { GlobalVars.ReqEventPageListType = GlobalVars.EventQuestListType.Tower; FlowNode_GameObject.ActivateOutputLinks((Component)this, 51); return; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.TowerQuest); return; case BannerType.arena: if (player.CheckUnlock(UnlockTargets.Arena)) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 56); return; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.Arena); return; case BannerType.pvp: if (player.CheckUnlock(UnlockTargets.MultiVS)) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 57); return; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.MultiVS); return; case BannerType.ordealQuest: if (player.CheckUnlock(UnlockTargets.Ordeal)) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 58); return; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.Ordeal); return; case BannerType.beginner: FlowNode_GameObject.ActivateOutputLinks((Component)this, 59); return; default: return; } } }
private BannerParam[] makeValidBannerParams() { GameManager instance = MonoSingleton <GameManager> .Instance; BannerParam[] banners = instance.MasterParam.Banners; if (banners == null) { return(new BannerParam[0]); } List <BannerParam> bannerParamList = new List <BannerParam>(); GachaParam[] gachas = instance.Gachas; QuestParam[] availableQuests = instance.Player.AvailableQuests; QuestParam questParam1 = (QuestParam)null; QuestParam lastStoryQuest = instance.Player.FindLastStoryQuest(); long serverTime = Network.GetServerTime(); DateTime now = TimeManager.FromUnixTime(serverTime); for (int index = 0; index < banners.Length; ++index) { BannerParam banner = banners[index]; if (!string.IsNullOrEmpty(banner.banner) && bannerParamList.FindIndex((Predicate <BannerParam>)(p => p.iname == banner.iname)) == -1 && banner.IsHomeBanner) { if (banner.type == BannerType.shop) { if (instance.IsLimitedShopOpen) { if (instance.LimitedShopList != null && !string.IsNullOrEmpty(banner.sval)) { JSON_ShopListArray.Shops shops = Array.Find <JSON_ShopListArray.Shops>(instance.LimitedShopList, (Predicate <JSON_ShopListArray.Shops>)(p => p.gname == banner.sval)); if (shops != null) { banner.begin_at = TimeManager.FromUnixTime(shops.start).ToString(); banner.end_at = TimeManager.FromUnixTime(shops.end).ToString(); if (!banner.IsAvailablePeriod(now)) { continue; } } else { continue; } } else if (!banner.IsAvailablePeriod(now)) { continue; } } else { continue; } } else if (banner.type == BannerType.storyQuest) { if (lastStoryQuest != null) { if (string.IsNullOrEmpty(banner.sval)) { questParam1 = lastStoryQuest; if (!banner.IsAvailablePeriod(now)) { continue; } } else { QuestParam questParam2 = Array.Find <QuestParam>(availableQuests, (Predicate <QuestParam>)(p => p.iname == banner.sval)); if (questParam2 == null || questParam2.iname != lastStoryQuest.iname && questParam2.state == QuestStates.New) { questParam2 = lastStoryQuest; } if (!questParam2.IsDateUnlock(serverTime)) { continue; } } } else { continue; } } else if (banner.type == BannerType.eventQuest || banner.type == BannerType.multiQuest) { if (!string.IsNullOrEmpty(banner.sval)) { QuestParam questParam2 = Array.Find <QuestParam>(availableQuests, (Predicate <QuestParam>)(p => p.iname == banner.sval)); if (questParam2 == null || !questParam2.IsDateUnlock(serverTime)) { continue; } } else if (!banner.IsAvailablePeriod(now)) { continue; } } else if (banner.type == BannerType.gacha) { if (!string.IsNullOrEmpty(banner.sval)) { GachaParam gachaParam = Array.Find <GachaParam>(gachas, (Predicate <GachaParam>)(p => p.iname == banner.sval)); if (gachaParam != null) { banner.begin_at = TimeManager.FromUnixTime(gachaParam.startat).ToString(); banner.end_at = TimeManager.FromUnixTime(gachaParam.endat).ToString(); if (!banner.IsAvailablePeriod(now)) { continue; } } else { continue; } } else if (!banner.IsAvailablePeriod(now)) { continue; } } else if (banner.type == BannerType.url) { if (string.IsNullOrEmpty(banner.sval) || !banner.IsAvailablePeriod(now)) { continue; } } else if (banner.type == BannerType.towerQuest) { if (!banner.IsAvailablePeriod(now)) { continue; } } else if (banner.type == BannerType.arena) { if (!banner.IsAvailablePeriod(now)) { continue; } } else if (banner.type == BannerType.pvp) { if (!banner.IsAvailablePeriod(now)) { continue; } } else if (banner.type == BannerType.ordealQuest) { if (!string.IsNullOrEmpty(banner.sval)) { QuestParam questParam2 = Array.Find <QuestParam>(availableQuests, (Predicate <QuestParam>)(p => p.iname == banner.sval)); if (questParam2 == null || !questParam2.IsDateUnlock(serverTime)) { continue; } } else if (!banner.IsAvailablePeriod(now)) { continue; } } bannerParamList.Add(banner); } } for (int index1 = 0; index1 < bannerParamList.Count - 1; ++index1) { for (int index2 = index1 + 1; index2 < bannerParamList.Count; ++index2) { if (bannerParamList[index1].priority > bannerParamList[index2].priority) { BannerParam bannerParam = bannerParamList[index1]; bannerParamList[index1] = bannerParamList[index2]; bannerParamList[index2] = bannerParam; } } } return(bannerParamList.ToArray()); }
public static BannerParam[] MakeValidBannerParams(bool _is_home_banner = true) { List <BannerParam> bannerParamList = new List <BannerParam>(); GameManager instance = MonoSingleton <GameManager> .Instance; BannerParam[] banners = instance.MasterParam.Banners; if (banners == null) { DebugUtility.LogError("バナーの設定がありません、有効なバナーを1つ以上設定してください"); return((BannerParam[])null); } QuestParam lastStoryQuest = instance.Player.FindLastStoryQuest(); QuestParam[] availableQuests = instance.Player.AvailableQuests; long serverTime = Network.GetServerTime(); DateTime now = TimeManager.FromUnixTime(serverTime); for (int index = 0; index < banners.Length; ++index) { BannerParam param = banners[index]; bool flag = true; if (param != null && !string.IsNullOrEmpty(param.banner) && bannerParamList.FindIndex((Predicate <BannerParam>)(p => p.iname == param.iname)) == -1 && (!_is_home_banner || param.IsHomeBanner)) { if (param.type == BannerType.shop) { if (instance.IsLimitedShopOpen) { if (instance.LimitedShopList != null && !string.IsNullOrEmpty(param.sval)) { JSON_ShopListArray.Shops shops = Array.Find <JSON_ShopListArray.Shops>(instance.LimitedShopList, (Predicate <JSON_ShopListArray.Shops>)(p => p.gname == param.sval)); if (shops != null) { param.begin_at = TimeManager.FromUnixTime(shops.start).ToString(); param.end_at = TimeManager.FromUnixTime(shops.end).ToString(); } else { continue; } } } else { continue; } } else if (param.type == BannerType.storyQuest) { flag = false; if (lastStoryQuest != null) { QuestParam questParam; if (string.IsNullOrEmpty(param.sval)) { questParam = lastStoryQuest; } else { questParam = Array.Find <QuestParam>(availableQuests, (Predicate <QuestParam>)(p => p.iname == param.sval)); if (questParam == null || questParam.iname != lastStoryQuest.iname && questParam.state == QuestStates.New) { questParam = lastStoryQuest; } } if (!questParam.IsDateUnlock(serverTime)) { continue; } } else { continue; } } else if (param.type == BannerType.eventQuest || param.type == BannerType.multiQuest) { if (!string.IsNullOrEmpty(param.sval)) { QuestParam questParam = Array.Find <QuestParam>(availableQuests, (Predicate <QuestParam>)(p => p.iname == param.sval)); if (questParam == null || !questParam.IsDateUnlock(serverTime)) { continue; } } } else if (param.type != BannerType.towerQuest && param.type != BannerType.gacha) { if (param.type == BannerType.url) { if (string.IsNullOrEmpty(param.sval)) { continue; } } else if (param.type == BannerType.arena || param.type == BannerType.pvp || param.type != BannerType.ordealQuest) { ; } } if (!flag || param.IsAvailablePeriod(now)) { bannerParamList.Add(param); } } } bannerParamList.Sort((Comparison <BannerParam>)((a, b) => a.priority - b.priority)); return(bannerParamList.ToArray()); }
private void Select(int index) { if (!UnityEngine.Object.op_Implicit((UnityEngine.Object)MonoSingleton <GameManager> .Instance)) { return; } BannerParam[] array = this.m_BannerList.ToArray(); if (array == null) { return; } if (array.Length < index) { DebugUtility.LogError("選択されたイベントバナーが正しくありません"); } else { BannerParam bannerParam = array[index]; int pinID = -1; PlayerData player = MonoSingleton <GameManager> .Instance.Player; switch (bannerParam.type) { case BannerType.storyQuest: if (EventPopup.SetupQuestVariables(bannerParam.sval, true)) { GlobalVars.SelectedQuestID = (string)null; pinID = 50; break; } break; case BannerType.eventQuest: GlobalVars.ReqEventPageListType = GlobalVars.EventQuestListType.EventQuest; EventPopup.SetupQuestVariables(bannerParam.sval, false); pinID = 51; break; case BannerType.multiQuest: if (player.CheckUnlock(UnlockTargets.MultiPlay)) { pinID = 52; break; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.MultiPlay); break; case BannerType.gacha: GlobalVars.SelectedGachaTableId = bannerParam.sval; pinID = 54; break; case BannerType.shop: pinID = 53; break; case BannerType.url: if (!string.IsNullOrEmpty(bannerParam.sval)) { Application.OpenURL(bannerParam.sval); } pinID = 55; break; case BannerType.towerQuest: if (player.CheckUnlock(UnlockTargets.TowerQuest)) { GlobalVars.ReqEventPageListType = GlobalVars.EventQuestListType.Tower; pinID = 51; break; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.TowerQuest); break; case BannerType.arena: if (player.CheckUnlock(UnlockTargets.Arena)) { pinID = 56; break; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.Arena); break; case BannerType.pvp: if (player.CheckUnlock(UnlockTargets.MultiVS)) { pinID = 57; break; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.MultiVS); break; case BannerType.ordealQuest: if (player.CheckUnlock(UnlockTargets.Ordeal)) { pinID = 58; break; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.Ordeal); break; case BannerType.beginner: pinID = 59; break; } if (pinID == -1) { return; } FlowNode_GameObject.ActivateOutputLinks((Component)this, pinID); } }
public void SetupBannerParam(BannerParam _param) { this.m_Param = _param; this.Refresh(); }
void IFlowInterface.Activated(int pinID) { switch (pinID) { case 1: if (this.Refresh()) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 48); break; } FlowNode_GameObject.ActivateOutputLinks((Component)this, 49); break; case 10: if (this.mMove != null) { break; } this.mMove = this.movePage(this.mPage, this.mPage + 1); break; case 11: if (this.mMove != null) { break; } this.mMove = this.movePage(this.mPage, this.mPage - 1); break; case 12: BannerParam currentPageBannerParam = this.getCurrentPageBannerParam(); if (currentPageBannerParam == null) { break; } switch (currentPageBannerParam.type) { case BannerType.storyQuest: if (!this.setQuestVariables(currentPageBannerParam.sval, true)) { return; } GlobalVars.SelectedQuestID = (string)null; FlowNode_GameObject.ActivateOutputLinks((Component)this, 50); return; case BannerType.eventQuest: GlobalVars.ReqEventPageListType = GlobalVars.EventQuestListType.EventQuest; this.setQuestVariables(currentPageBannerParam.sval, false); FlowNode_GameObject.ActivateOutputLinks((Component)this, 51); return; case BannerType.multiQuest: FlowNode_GameObject.ActivateOutputLinks((Component)this, 55); return; case BannerType.gacha: GlobalVars.SelectedGachaTableId = currentPageBannerParam.sval; FlowNode_GameObject.ActivateOutputLinks((Component)this, 53); return; case BannerType.shop: FlowNode_GameObject.ActivateOutputLinks((Component)this, 52); return; case BannerType.url: if (!string.IsNullOrEmpty(currentPageBannerParam.sval)) { Application.OpenURL(currentPageBannerParam.sval); } FlowNode_GameObject.ActivateOutputLinks((Component)this, 54); return; case BannerType.towerQuest: GlobalVars.ReqEventPageListType = GlobalVars.EventQuestListType.Tower; FlowNode_GameObject.ActivateOutputLinks((Component)this, 51); return; default: return; } } }
private BannerParam[] makeValidBannerParams() { GameManager instance = MonoSingleton <GameManager> .Instance; BannerParam[] banners = instance.MasterParam.Banners; if (banners == null) { return(new BannerParam[0]); } List <BannerParam> bannerParamList = new List <BannerParam>(); GachaParam[] gachas = instance.Gachas; QuestParam[] availableQuests = instance.Player.AvailableQuests; QuestParam questParam1 = (QuestParam)null; QuestParam lastStoryQuest = instance.Player.FindLastStoryQuest(); long serverTime = Network.GetServerTime(); DateTime now = TimeManager.FromUnixTime(serverTime); for (int index = 0; index < banners.Length; ++index) { // ISSUE: object of a compiler-generated type is created // ISSUE: variable of a compiler-generated type EventBannerScroll.\u003CmakeValidBannerParams\u003Ec__AnonStorey326 paramsCAnonStorey326 = new EventBannerScroll.\u003CmakeValidBannerParams\u003Ec__AnonStorey326(); // ISSUE: reference to a compiler-generated field paramsCAnonStorey326.banner = banners[index]; // ISSUE: reference to a compiler-generated field // ISSUE: reference to a compiler-generated method if (!string.IsNullOrEmpty(paramsCAnonStorey326.banner.banner) && bannerParamList.FindIndex(new Predicate <BannerParam>(paramsCAnonStorey326.\u003C\u003Em__35B)) == -1) { // ISSUE: reference to a compiler-generated field if (paramsCAnonStorey326.banner.type == BannerType.shop) { if (instance.IsLimitedShopOpen) { // ISSUE: reference to a compiler-generated field if (instance.LimitedShopList != null && !string.IsNullOrEmpty(paramsCAnonStorey326.banner.sval)) { // ISSUE: reference to a compiler-generated method Array.Find <JSON_ShopListArray.Shops>(instance.LimitedShopList, new Predicate <JSON_ShopListArray.Shops>(paramsCAnonStorey326.\u003C\u003Em__35C)); } else { // ISSUE: reference to a compiler-generated field if (!paramsCAnonStorey326.banner.IsAvailablePeriod(now)) { continue; } } } else { continue; } } else { // ISSUE: reference to a compiler-generated field if (paramsCAnonStorey326.banner.type == BannerType.storyQuest) { if (lastStoryQuest != null) { // ISSUE: reference to a compiler-generated field if (string.IsNullOrEmpty(paramsCAnonStorey326.banner.sval)) { questParam1 = lastStoryQuest; // ISSUE: reference to a compiler-generated field if (!paramsCAnonStorey326.banner.IsAvailablePeriod(now)) { continue; } } else { // ISSUE: reference to a compiler-generated method QuestParam questParam2 = Array.Find <QuestParam>(availableQuests, new Predicate <QuestParam>(paramsCAnonStorey326.\u003C\u003Em__35D)); if (questParam2 == null || questParam2.iname != lastStoryQuest.iname && questParam2.state == QuestStates.New) { questParam2 = lastStoryQuest; } if (!questParam2.IsDateUnlock(serverTime)) { continue; } } } else { continue; } } else { // ISSUE: reference to a compiler-generated field // ISSUE: reference to a compiler-generated field if (paramsCAnonStorey326.banner.type == BannerType.eventQuest || paramsCAnonStorey326.banner.type == BannerType.multiQuest) { // ISSUE: reference to a compiler-generated field if (!string.IsNullOrEmpty(paramsCAnonStorey326.banner.sval)) { // ISSUE: reference to a compiler-generated method QuestParam questParam2 = Array.Find <QuestParam>(availableQuests, new Predicate <QuestParam>(paramsCAnonStorey326.\u003C\u003Em__35E)); if (questParam2 == null || !questParam2.IsDateUnlock(serverTime)) { continue; } } else { // ISSUE: reference to a compiler-generated field if (!paramsCAnonStorey326.banner.IsAvailablePeriod(now)) { continue; } } } else { // ISSUE: reference to a compiler-generated field if (paramsCAnonStorey326.banner.type == BannerType.gacha) { // ISSUE: reference to a compiler-generated field if (!string.IsNullOrEmpty(paramsCAnonStorey326.banner.sval)) { // ISSUE: reference to a compiler-generated method GachaParam gachaParam = Array.Find <GachaParam>(gachas, new Predicate <GachaParam>(paramsCAnonStorey326.\u003C\u003Em__35F)); if (gachaParam != null) { // ISSUE: reference to a compiler-generated field paramsCAnonStorey326.banner.begin_at = TimeManager.FromUnixTime(gachaParam.startat).ToString(); // ISSUE: reference to a compiler-generated field paramsCAnonStorey326.banner.end_at = TimeManager.FromUnixTime(gachaParam.endat).ToString(); // ISSUE: reference to a compiler-generated field if (!paramsCAnonStorey326.banner.IsAvailablePeriod(now)) { continue; } } else { continue; } } else { // ISSUE: reference to a compiler-generated field if (!paramsCAnonStorey326.banner.IsAvailablePeriod(now)) { continue; } } } else { // ISSUE: reference to a compiler-generated field if (paramsCAnonStorey326.banner.type == BannerType.url) { // ISSUE: reference to a compiler-generated field // ISSUE: reference to a compiler-generated field if (string.IsNullOrEmpty(paramsCAnonStorey326.banner.sval) || !paramsCAnonStorey326.banner.IsAvailablePeriod(now)) { continue; } } else { // ISSUE: reference to a compiler-generated field // ISSUE: reference to a compiler-generated field if (paramsCAnonStorey326.banner.type == BannerType.towerQuest && !paramsCAnonStorey326.banner.IsAvailablePeriod(now)) { continue; } } } } } } // ISSUE: reference to a compiler-generated field bannerParamList.Add(paramsCAnonStorey326.banner); } } for (int index1 = 0; index1 < bannerParamList.Count - 1; ++index1) { for (int index2 = index1 + 1; index2 < bannerParamList.Count; ++index2) { if (bannerParamList[index1].priority > bannerParamList[index2].priority) { BannerParam bannerParam = bannerParamList[index1]; bannerParamList[index1] = bannerParamList[index2]; bannerParamList[index2] = bannerParam; } } } return(bannerParamList.ToArray()); }