public override void OnInitialize(IChangeMaterialProperty property) { m_Property = property; Npc npcVO = m_Property.GetNPCTemplateVO(); /// npcVO.TriggerRange m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; m_TreasureHuntProxy = GameFacade.Instance.RetrieveProxy(ProxyName.TreasureHuntProxy) as TreasureHuntProxy; m_GameplayProxy = GameFacade.Instance.RetrieveProxy(ProxyName.GameplayProxy) as GameplayProxy; m_MainEntity = m_GameplayProxy.GetMainPlayer(); GamingConfigTreasure gamingConfigTreasure = m_CfgEternityProxy.GetGamingConfig(1).Value.Treasure.Value; GamingConfigTreasureColor colour = gamingConfigTreasure.Colour.Value; m_Colors[DistanceType.discovery] = colour.DiscoveryDistance; m_Colors[DistanceType.strong] = colour.StrongSignalDistance; m_Colors[DistanceType.medium] = colour.MediumSignalDistance; m_Colors[DistanceType.weak] = colour.WeakSignalDistance; GamingConfigTreasureFrequency frequency = gamingConfigTreasure.Frequency.Value; m_Frequencys[DistanceType.discovery] = frequency.DiscoveryDistance; m_Frequencys[DistanceType.strong] = frequency.StrongSignalDistance; m_Frequencys[DistanceType.medium] = frequency.MediumSignalDistance; m_Frequencys[DistanceType.weak] = frequency.WeakSignalDistance; GamingConfigTreasureSound sound = gamingConfigTreasure.Sound.Value; m_Sounds[DistanceType.none] = (int)sound.NoSignalDetector; m_Sounds[DistanceType.strong] = (int)sound.StrongSignalDetector; m_Sounds[DistanceType.medium] = (int)sound.MediumSignalDetector; m_Sounds[DistanceType.weak] = (int)sound.WeakSignalDetector; }
/// <summary> /// 监视网格布局 /// </summary> private void ListenerGridLayoutToggle() { State.GetAction(UIAction.Common_Grid_List).State = 0; State.GetAction(UIAction.Common_Grid_List).Callback -= OnToggleGridLayout; if (Config.HasValue) { int pageIndex = State.GetPageIndex(); if (pageIndex < Config.Value.LabelIdLength) { uint pageCfgID = (uint)Config.Value.LabelId(pageIndex); CfgEternityProxy cfg = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; UiLabelConfig? pageConfig = cfg.GetUIPage(pageCfgID); if (pageConfig.HasValue) { if (State.GetPageLayoutStyle(State.GetPageIndex()) == UIViewListLayout.Row) { State.GetAction(UIAction.Common_Grid_List).State = 0; } else { State.GetAction(UIAction.Common_Grid_List).State = 1; } if (pageConfig.Value.ListExchange != 0) { State.GetAction(UIAction.Common_Grid_List).Callback += OnToggleGridLayout; } } } } }
/// <summary> /// 更新奖励列表 /// </summary> /// <param name="mission">任务数据</param> /// <param name="rewardBox">奖励容器</param> private void UpdateRewardList(MissionVO mission, Transform rewardBox) { CfgEternityProxy configs = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; m_RewardIDs.Clear(); m_RewardCounts.Clear(); MissionMain cfg = mission.MissionMainConfig.Value; if (cfg.ItemId1 > 0) { m_RewardIDs.Add(cfg.ItemId1); m_RewardCounts.Add(cfg.ItemNum1); } if (cfg.ItemId2 > 0) { m_RewardIDs.Add(cfg.ItemId2); m_RewardCounts.Add(cfg.ItemNum2); } if (cfg.ItemId3 > 0) { m_RewardIDs.Add(cfg.ItemId3); m_RewardCounts.Add(cfg.ItemNum3); } if (cfg.ItemId4 > 0) { m_RewardIDs.Add(cfg.ItemId4); m_RewardCounts.Add(cfg.ItemNum4); } if (cfg.ItemId5 > 0) { m_RewardIDs.Add(cfg.ItemId5); m_RewardCounts.Add(cfg.ItemNum5); } int index = 0; for (; index < m_RewardIDs.Count; index++) { int itemID = m_RewardIDs[index]; int itemCount = m_RewardCounts[index]; Item item = configs.GetItemByKey((uint)m_RewardIDs[index]); Transform node = index < rewardBox.childCount ? rewardBox.GetChild(index) : Object.Instantiate(rewardBox.GetChild(0), rewardBox); Image icon = FindComponent <Image>(node, "Icon/Icon"); Image quality = FindComponent <Image>(node, "Icon/Quality"); TMP_Text name = FindComponent <TMP_Text>(node, "Label_Name"); TMP_Text count = FindComponent <TMP_Text>(node, "Label_Num"); node.gameObject.SetActive(true); UIUtil.SetIconImageSquare(icon, item.Icon); quality.color = ColorUtil.GetColorByItemQuality(item.Quality); name.text = TableUtil.GetItemName(itemID); count.text = itemCount.ToString(); } for (; index < rewardBox.childCount; index++) { rewardBox.GetChild(index).gameObject.SetActive(false); } }
/// <summary> ///是否属于某个阵营关系 /// </summary> /// <param name="factiontype">想去判断的阵营关系</param> /// <param name="selfCampType">阵营类型1(读表定义的阵营)</param> /// <param name="targetCampType">阵营类型2(读表定义的阵营)</param> /// <returns></returns> public bool IsBelongToThisFactionType(FactionType factiontype, BaseEntity entity1, BaseEntity entity2) { //左边:FactionType,右边 :CampRelation //自己= 自己,友方(包含自己) = 友方+中立,敌方 = 敌方,All = 友方+中立+敌方 //自己 if (factiontype == FactionType.Self) { return(entity1.UId() == entity2.UId()); } CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; CampRelation campRelation = cfgEternityProxy.GetRelation(entity1.GetCampID(), entity2.GetCampID()); //友方 if (factiontype == FactionType.Friendly) { return(campRelation == CampRelation.Friend || campRelation == CampRelation.Neutrality); } //敌方 if (factiontype == FactionType.Enemy) { return(campRelation == CampRelation.Enemy); } //所有 if (factiontype == FactionType.All) { return(campRelation != CampRelation.Undefined); } return(false); }
/// <summary> /// FIXME: 临时函数, 现在直接使用camp_list表里的声望默认值来初始化对不同阵营的声望 /// </summary> private void InitPrestige() { // camplist表中, 阵营ID从1开始 uint camp = m_Property.GetCampID(); if (camp < 1) { Debug.LogErrorFormat("templateID为{0}的怪阵营错误", m_Property.GetTemplateID()); } CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; int count = cfgEternityProxy.GetCampCount(); for (int campIndex = 0; campIndex < count; campIndex++) { CampList campVO = cfgEternityProxy.GetCampVOByIndex(campIndex); CampNode?campnode = campVO.NodeCampList(campIndex); if (!campnode.HasValue) { Debug.LogError("CampList表错误. 不该出现的错误"); continue; } m_Property.SetPrestige(campnode.Value.CampOther, cfgEternityProxy.GetCampRelationVO(camp, campnode.Value.CampOther).Value.PrestigeInit); } }
/// <summary> /// 获取态皮肤节点通过模板ID /// </summary> /// <param name="templateID">模板ID</param> /// <param name="heroType">类型</param> /// <returns></returns> public Transform GetSkinTransformByTemplateID(int templateID, KHeroType heroType) { CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; if (cfgEternityProxy.IsSpace()) { Dictionary <ulong, BaseEntity> entitys = m_EntityManager.GetEntities <SpacecraftEntity>(); if (entitys != null) { foreach (SpacecraftEntity spacecraftEntity in entitys.Values) { if (spacecraftEntity.GetTemplateID() == templateID && spacecraftEntity.GetHeroType() == heroType) { return(spacecraftEntity.GetSkinTransform()); } } } } else { Dictionary <ulong, BaseEntity> entitys = m_EntityManager.GetEntities <HumanEntity>(); if (entitys != null) { foreach (HumanEntity humanEntity in entitys.Values) { if (humanEntity.GetTemplateID() == templateID && humanEntity.GetHeroType() == heroType) { return(humanEntity.GetSkinTransform()); } } } } return(null); }
/// <summary> /// 获取物品Icon Tid /// </summary> /// <param name="itemID">配置表ID</param> /// <returns></returns> public static uint GetItemIconTid(uint itemID) { CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; uint iconId = cfgEternityProxy.GetItemByKey(itemID).Icon; return(iconId); }
/// <summary> /// 获取物品Bundle /// </summary> /// <param name="itemType">物品类型</param> /// <param name="itemID">配置表ID</param> /// <returns></returns> public static string GetItemIconBundle(uint itemID) { CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; uint iconId = cfgEternityProxy.GetItemByKey(itemID).Icon; return(cfgEternityProxy.GetIconName(iconId).Atlas); }
public void Init() { if (m_CharacterModel == null) { m_CharacterModel = transform.Find("Content/NPC").GetComponent <RawImage>(); } if (m_ServerListProxy == null) { m_ServerListProxy = (ServerListProxy)GameFacade.Instance.RetrieveProxy(ProxyName.ServerListProxy); } if (m_CfgEternityProxy == null) { m_CfgEternityProxy = (CfgEternityProxy)GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy); } if (m_UpaTips == null) { m_UpaTips = transform.Find("Content/Content/Message"); } if (m_Label == null) { m_Label = transform.Find("Content/Content/Label_Name").GetComponent <TMP_Text>(); } m_CharacterModel.gameObject.SetActive(true); m_Label.text = TableUtil.GetLanguageString("esc_title_1002"); ShowUpaTips(); ShowCharacter(); }
public override void OnShow(object msg) { base.OnShow(msg); OwnerView.State.SetActionCompareEnabled(false); if (m_MailProxy == null) { m_MailProxy = GameFacade.Instance.RetrieveProxy(ProxyName.MailProxy) as MailProxy; } if (m_CfgEternityProxy == null) { m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; } if (m_LogProxy == null) { m_LogProxy = GameFacade.Instance.RetrieveProxy(ProxyName.LogProxy) as LogProxy; } OwnerView.State.GetAction(UIAction.Mail_Retrieve).Callback -= GetAccessory; OwnerView.State.GetAction(UIAction.Mail_Retrieve).Callback += GetAccessory; OwnerView.State.GetAction(UIAction.Mail_Empty).Callback -= DeleteAll; OwnerView.State.GetAction(UIAction.Mail_Empty).Callback += DeleteAll; OwnerView.State.GetAction(UIAction.Mail_Delete).Callback -= DeleteMail; OwnerView.State.GetAction(UIAction.Mail_Delete).Callback += DeleteMail; OwnerView.State.GetAction(UIAction.Mail_Mark).Callback -= SetMarkMail; OwnerView.State.GetAction(UIAction.Mail_Mark).Callback += SetMarkMail; State.OnSelectionChanged += OnSelectionChanged; }
/// <summary> /// 初始化 /// </summary> public override void Initialize() { UICompositeViewMounts mounts = GetTransform().GetComponent <UICompositeViewMounts>(); if (mounts) { BackBox = mounts.BackBox; TitleBox = mounts.TitleBox; ListBox = mounts.ListBox; TipBox = mounts.TipBox; PageBox = mounts.PageBox; SortBox = mounts.SortBox; OtherBox = mounts.OtherBox; ModelBox = mounts.ModelBox; HotkeyBox = mounts.HotkeyBox; } Root = FindComponent <Transform>("Content"); AnimatorController = GetTransform().GetComponent <UIAnimationEvent>(); //初始化页面状态 CfgEternityProxy cfg = Facade.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; UiConfig? uiConfig = cfg.GetUIConfig((uint)Name); if (uiConfig.HasValue && !m_ViewStates.ContainsKey(Name)) { UIViewState state = new UIViewState(); state.UIConfig = uiConfig; state.Initialize(); m_ViewStates.Add(Name, state); } }
/// <summary> /// 初始化 /// </summary> public void Initialize() { cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; m_triggerMgr = new WwiseTimeTriggerManager(); m_triggerMgr.Init(); //wwise Root 挂点 GameObject WwiseSoundRoot = new GameObject("WwiseSoundRoot"); //root 挂点不销毁 GameObject.DontDestroyOnLoad(WwiseSoundRoot); //设置主(全局)音效库 SoundBankObjRoot = new GameObject("SoundBankRoot"); SoundBankObjRoot.transform.SetParent(WwiseSoundRoot.transform, false); //设置音源总挂点 SoundSourceObjRoot = new GameObject("SoundSourceRoot"); SoundSourceObjRoot.transform.SetParent(WwiseSoundRoot.transform, false); //设置2D音源挂点 SoundSource2DObj = new GameObject("SoundSource2DObj"); SoundSource2DObj.transform.SetParent(SoundSourceObjRoot.transform, false); //设置3D音源模板挂点 SoundSource3DObj_TemplateRoot = new GameObject("SoundSource3DObj_TemplateRoot"); SoundSource3DObj_TemplateRoot.transform.SetParent(SoundSourceObjRoot.transform, false); // 加载最先的bank LoadFirstBank(); }
public override void OnShow(object msg) { base.OnShow(msg); LoadViewPart(ASSET_ADDRESS, OwnerView.ListBox); m_Msg = msg; m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; }
/// <summary> /// 根据死亡延时创建宝箱 /// </summary> public void CreateDropItemByDeath(ulong key, SpacecraftEntity spe) { Debug.Log("CreateDropItemByDeath key:" + key + " SpacecraftEntity:" + spe); m_SpacecraftEntityDic.Add(key, spe); Npc npcVO = spe.GetNPCTemplateVO(); CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; Model model = cfgEternityProxy.GetModel(npcVO.Model); int ruinTime = model.RuinTime; if (ruinTime > 0) { UIManager.Instance.StartCoroutine(DelayToCreateDropItemByDeath(key, spe, ruinTime / 1000.0f)); } else { CreateDropItem((uint)key, spe, 2); } /// TODO.宝藏特殊处理 /// 服务器创建后立马死亡,没有死亡特效 ///if (spe.GetHeroType() == KHeroType.htPreicous) ///{ /// CreateDropItem((uint)key, spe, 2); ///} ///else ///{ /// UIManager.Instance.StartCoroutine(DelayToCreateDropItemByDeath(key, spe)); ///} ///CreateDropItem((uint)key, spe, 2); }
/// <summary> /// 卸载 音效组合 /// </summary> /// <param name="ComboId">组合 ID</param> /// <param name="todoPrepareEvent">是否是需要执行 PrepareEvent</param> public static void UnLoadMusicCombo(int ComboId) { CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; SoundComboData?[] soundCombos = cfgEternityProxy.GetSoundComboDataByKey(ComboId); List<int> bankList = new List<int>(); List<string> EventList = new List<string>(); for (int i = 0; i < soundCombos.Length; i++) { int musicId = soundCombos[i].Value.MusicId; if (musicId <= 0) continue; Sound? sound = cfgEternityProxy.GetSoundByKey((uint)musicId); SoundEvent? soundevent = cfgEternityProxy.GetSoundEventDataByKey((uint)sound.Value.EventId); if (!bankList.Contains(soundevent.Value.BankID)) bankList.Add(soundevent.Value.BankID); if (!EventList.Contains(soundevent.Value.EventName) && !soundevent.Value.HaveMedia) EventList.Add(soundevent.Value.EventName); } //执行卸载, 注意 卸载只是当音效停止状态才能真正执行 for (int i = 0; i < EventList.Count; i++) { WwiseManager.Instance.LoadorUnLoadPrepareEvent(EventList[i], false); } for (int t = 0; t < bankList.Count; t++) { SoundBank? bank = cfgEternityProxy.GetSoundBankByKey((uint)bankList[t]); WwiseManager.Instance.UnLoadSoundBank(bank.Value.BankName); } }
/// <summary> /// 播放特殊枚举类型音效 /// 注:必须属于组合表内表明定义的 /// </summary> /// <param name="ComboId">组合Id</param> /// <param name="type">类型枚举</param> /// <param name="place">主角or其他 --玩家跟主角音效不同,目前只有船有需求</param> ///<param name="alreadyPrepare">是否已经执行了预先加载事件 Prepare</param> /// <param name="point">播放位置</param> public static void PlaySpecialTypeMusicOrSound(int ComboId, WwiseMusicSpecialType type, WwiseMusicPalce place, bool alreadyPrepare, Vector3 point, Action<object> endAction = null, SystemObject userEndData = null) { if (ComboId <= 0) return; CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; SoundComboData?[] soundCombos = cfgEternityProxy.GetSoundComboDataByKey(ComboId); int musicId = -1; for (int i = 0; i < soundCombos.Length; i++) { if (soundCombos[i].Value.Type == (int)type && soundCombos[i].Value.Place == (int)place) { musicId = soundCombos[i].Value.MusicId; break; } } if (musicId <= 0) { Debug.LogWarning(string.Format("检查表SoundCombo 表,数据不对 ComboId = {0}, type = {1}", ComboId, (int)type)); return; } PlayMusicOrSound(musicId, alreadyPrepare, point, endAction); }
/// <summary> /// 布局蓝图的MOD部分 /// </summary> /// <param name="tid">蓝图的TID</param> /// <param name="materialNode">MOD节点</param> private void LayoutBlueprintModList(uint tid, Transform modNode) { CfgEternityProxy cfg = GetConfig(); Produce produce = cfg.GetProduceByKey(tid); Item item = cfg.GetItemByKey((uint)produce.ProductId); Category itemType = ItemTypeUtil.GetItemType(item.Type).MainType; int modCount = 0; if (itemType == Category.Warship) { Warship ship = cfg.GetWarshipByKey(item.Id); ModPosition modPosCfg = cfg.GetModPosition((uint)ship.ModPosition); modCount = modPosCfg.PositionsLength; } else if (itemType == Category.Weapon) { Weapon weapon = cfg.GetWeapon(item.Id); ModPosition modPosCfg = cfg.GetModPosition((uint)weapon.ModPosition); modCount = modPosCfg.PositionsLength; } LayoutModList(new int[modCount], modNode); }
private void OnSyncNewHero(KProtoBuf buffer) { S2C_SYNC_NEW_HERO respond = buffer as S2C_SYNC_NEW_HERO; if (m_EntityManager.GetEntityById <BaseEntity>(respond.id) != null) { Debug.LogErrorFormat("已经创建UId为{0}的实体", respond.id); return; } //Debug.LogErrorFormat("====《创建UId为{0}的实体", respond.id); CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; if (cfgEternityProxy.IsSpace()) { m_EntityManager.CreateEntityByRespond <SpacecraftEntity, S2C_SYNC_NEW_HERO>(respond.id, respond.templateID, respond.item_tid, respond.ownerPlayerID, respond); } else { m_EntityManager.CreateEntityByRespond <HumanEntity, S2C_SYNC_NEW_HERO>(respond.id, respond.templateID, respond.item_tid, respond.ownerPlayerID, respond); } Debug.Log("OnSyncNewHero\n" + JsonUtility.ToJson(respond)); }
/// <summary> /// 设置Icon image方图 /// </summary> /// <param name="image">image</param> /// <param name="IconId">Icon表Tid</param> public static void SetIconImageSquare(Image image, uint IconId, bool autoSetNativeSize = false) { CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; Icon icon = cfgEternityProxy.GetIconName(IconId); SetIconImage(image, icon.Atlas, icon.SquareName, autoSetNativeSize); }
public override void OnInitialize(ISkillRefactorProperty property) { m_Property = property; m_State = SkillState.Idle; m_Property.SetCurrentSkillState(m_State); m_IDToSkill = new Dictionary <int, SkillBase>(); m_RemoveSkillList = new List <int>(); m_ReleasedSkillDuringPress = new Dictionary <int, bool>(); m_CfgSkillProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgSkillSystemProxy) as CfgSkillSystemProxy; m_SkillProxy = GameFacade.Instance.RetrieveProxy(ProxyName.PlayerSkillProxy) as PlayerSkillProxy; m_CfgLanguageProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgLanguageProxy) as CfgLanguageProxy; m_GameplayProxy = GameFacade.Instance.RetrieveProxy(ProxyName.GameplayProxy) as GameplayProxy; m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; m_WeakSoundCD = m_CfgEternityProxy.GetGamingConfig(1).Value.Mine.Value.Sound.Value.WeaknessSoundCd; m_WeakSoundTmpCD = m_WeakSoundCD; m_WeakSoundProbability = m_CfgEternityProxy.GetGamingConfig(1).Value.Mine.Value.Sound.Value.WeaknessSoundRate; SkillBase.s_CfgSkillProxy = m_CfgSkillProxy; SkillBase.s_SkillProxy = m_SkillProxy; SkillBase.s_CfgLanguageProxy = m_CfgLanguageProxy; SkillBase.s_GameplayProxy = m_GameplayProxy; SkillBase.s_CfgEternityProxy = m_CfgEternityProxy; SetPreditionForAllSkillType(); // UNDONE, 声音 PreloadSkill(); }
public bool CanAttackToTarget(SpacecraftEntity attacker, SpacecraftEntity target) { if (attacker == null || target == null) { return(false); } //优先判断是否可被攻击 if (!target.GetCanBeAttack()) { return(false); } CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; //直接调用获取阵营关系的函数,岂不简单些? CampRelation relation = cfgEternityProxy.GetRelation(attacker.GetCampID(), target.GetCampID()); return(relation == CampRelation.Enemy); //int attCamp = attacker.GetCampID(); //int tarCamp = target.GetCampID(); //CampVO_MergeObject? campVO = cfgCampProxy.GetCampRelationVO(attCamp, tarCamp); //if (campVO == null) //{ // Debug.LogErrorFormat("阵营信息不存在. Camp1: {0}, Camp2: {1}", attCamp, tarCamp); // return false; //} //else //{ // int prestage = attacker.GetPrestige(tarCamp); // // 通过声望值判断是否可攻击 // return prestage > campVO.Value.PrestigeEnemyMin && prestage < campVO.Value.PrestigeEnemyMax; //} }
public override void OnShow(object msg) { base.OnShow(msg); RectTransform poolBox = FindComponent <RectTransform>("TemplatePool"); if (poolBox == null) { poolBox = new GameObject("TemplatePool", typeof(RectTransform)).GetComponent <RectTransform>(); poolBox.SetParent(GetTransform()); poolBox.gameObject.SetActive(false); poolBox.SetAsFirstSibling(); } m_TemplateToPool.Clear(); RectTransform templates = FindComponent <RectTransform>("Templates"); for (int i = 0; i < templates.childCount; i++) { Transform template = templates.GetChild(i); Transform templatePool = poolBox.Find(template.name); if (!templatePool) { templatePool = new GameObject(template.name, typeof(RectTransform)).GetComponent <RectTransform>(); templatePool.SetParent(poolBox); } m_TemplateToPool.Add(template, templatePool); } m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; StartUpdate(); }
/// <summary> /// 初始化 /// </summary> protected virtual void Initialize() { if (m_Inited) { return; } m_Inited = true; m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; m_AutoSizeBox = TransformUtil.FindUIObject <RectTransform>(transform, "ImagePoint/Box"); m_IconGo = TransformUtil.FindUIObject <Transform>(transform, "ImagePoint/Box/Icon").gameObject; m_Icon = TransformUtil.FindUIObject <Image>(transform, "ImagePoint/Box/Icon/Image_Icon"); m_RawGo = TransformUtil.FindUIObject <Transform>(transform, "ImagePoint/Box/Raw").gameObject; m_RawImage = TransformUtil.FindUIObject <RawImage>(transform, "ImagePoint/Box/Raw/back"); m_NameLabel = TransformUtil.FindUIObject <TMP_Text>(transform, "ImagePoint/Box/Name/TextBox/Name"); m_LocationPoint = TransformUtil.FindUIObject <Transform>(transform, "ImagePoint/Box/Location").gameObject; m_BottomIconGo = TransformUtil.FindUIObject <Transform>(transform, "ImagePoint/Box/Image").gameObject; m_BottomIconParent = TransformUtil.FindUIObject <RectTransform>(transform, "ImagePoint/Box/Image/Icon/Type1"); m_BottomIconGo.SetActive(false); m_IconGo.SetActive(false); m_RawGo.SetActive(false); m_LocationPoint.SetActive(false); UIEventListener.UIEventListener.AttachListener(gameObject).onSelect = OnToggleChanged; }
public void ShowShip() { ShipProxy shipProxy = GameFacade.Instance.RetrieveProxy(ProxyName.ShipProxy) as ShipProxy; IShip ship = shipProxy.GetAppointWarShip(); if (ship != null) { CfgEternityProxy cfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; Model model = cfgEternityProxy.GetItemModelByKey(ship.GetTID()); GameObject container = GameObject.Find(model.ExhibitionPoint); if (container) { m_Show = true; TransformUtil.FindUIObject <Transform>(container.transform, "Ship_Light").gameObject.SetActive(true); AssetUtil.InstanceAssetAsync(model.AssetName, (pathOrAddress, returnObject, userData) => { if (returnObject != null) { GameObject gameobj = (GameObject)returnObject; gameobj.transform.SetParent(container.transform, false); m_ShipGameObject = gameobj; if (!m_Show) { HideShip(); } } else { Debug.LogError(string.Format("资源加载成功,但返回null, pathOrAddress = {0}", pathOrAddress)); } }); } } }
private CfgEternityProxy GetCfgMissionProxy() { if (m_CfgMissionProxy == null) { m_CfgMissionProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; } return(m_CfgMissionProxy); }
public PlayerShipSkillVO(int skillID) { m_TemplateID = skillID; CfgEternityProxy eternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; m_SkillData = eternityProxy.GetSkillData(m_TemplateID); }
/// <summary> /// 获取配置文件 /// </summary> /// <returns>配置数据</returns> private CfgEternityProxy GetConfig() { if (m_Config == null) { m_Config = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; } return(m_Config); }
/// <summary> /// CfgPlayerProxy /// </summary> /// <returns></returns> private CfgEternityProxy GetCfgEternityProxy() { if (m_CfgEternityProxy == null) { m_CfgEternityProxy = (CfgEternityProxy)Facade.RetrieveProxy(ProxyName.CfgEternityProxy); } return(m_CfgEternityProxy); }
/// <summary> /// 是否在太空中 /// </summary> /// <returns>bool</returns> protected bool IsInSpace() { if (m_CfgEternityProxy == null) { m_CfgEternityProxy = GameFacade.Instance.RetrieveProxy(ProxyName.CfgEternityProxy) as CfgEternityProxy; } return(m_CfgEternityProxy.IsSpace()); }
public override void Initialize() { m_ServerListProxy = (ServerListProxy)Facade.RetrieveProxy(ProxyName.ServerListProxy); m_CfgEternityProxy = (CfgEternityProxy)Facade.RetrieveProxy(ProxyName.CfgEternityProxy); m_PanelRoot = FindComponent <Transform>("Content"); m_Title = FindComponent <TMP_Text>("Content/Title/Icon/Label"); m_CfgEternityProxy.CheckData(); CanReceiveFocus = false; }