using System.Collections; using System.Collections.Generic; using Games.GlobeDefine; using GCGame.Table; using UnityEngine; using UnityEngine.UI; public class WeedingItem : MonoBehaviour { private Tab_WeedingConfig config; public Text consumeDescAndValue; public List coupTileList; public Image markIcon; public Transform titleIconParent; public List viewFashionItemList; public Text weedingClothRemainTime; public int weedingId = -1; public Text weedingName; public List _TypeIcon; public Text _WCName; public Image _WCTypeIcon; public Text _BanquetName; public List _ItemQualityList; public List _ItemIconList; public void InitWeedingItem(int _WeedingId) { weedingId = _WeedingId; config = TableManager.GetWeedingConfigByID(weedingId, 0); if (config == null) return; weedingName.gameObject.SetActive(false); weedingName.text = config.WeedingName; for(int index = 0; index < _TypeIcon.Count; index++) { _TypeIcon[index].SetActive(index +1 == weedingId); } if (config.ConsumeType == (int) CONSUM_TYPE.MONEY) { //var consumeDescId = "#{" + (6000 + config.ConsumeSubType) + "}"; consumeDescAndValue.text = config.ConsumeValue + GCGame.Utils.GetMoneyName(config.ConsumeSubType); } if (config.GainFashionId != -1) SetFashionItemInfo(); //设置特效Icon SetViewFashionItem(); SetFashionItemInfo(); SetCanGainTitleDesc(); SetWC(); SetBanquet(); } void SetWC() { if(config.WCName.Equals("-1")) { _WCName.gameObject.SetActive(false); return; } _WCName.gameObject.SetActive(true); _WCName.text = config.WCName; LoadAssetBundle.Instance.SetImageSprite(_WCTypeIcon, config.WCTypeIcon); } void SetBanquet() { if(config.BanquetName.Equals("-1")) { _BanquetName.gameObject.SetActive(false); return; } _BanquetName.gameObject.SetActive(true); _BanquetName.text = config.BanquetName; for(int index = 0; index < config.getRewIdCount() && index < _ItemIconList.Count; index++) { var commonItem = TableManager.GetCommonItemByID(config.GetRewIdbyIndex(index), 0); if(commonItem == null) { _ItemIconList[index].gameObject.SetActive(false); _ItemQualityList[index].gameObject.SetActive(false); Debug.LogError("CommonItem is null : " + config.GetRewIdbyIndex(index)); return; } LoadAssetBundle.Instance.SetImageSprite(_ItemQualityList[index], GCGame.Utils.GetItemQualityFrame(commonItem.Quality)); LoadAssetBundle.Instance.SetImageSprite(_ItemIconList[index], commonItem.Icon); } } public void OnItemIcon(int index) { ItemTooltipsLogic.ShowItemTooltip(config.GetRewIdbyIndex(index), ItemTooltipsLogic.ShowType.Info, _ItemIconList[index].transform.position); } public void SetViewFashionItem() { for (var index = 0; index < viewFashionItemList.Count; index++) { viewFashionItemList[index].InitItem(config.GainFashionId, index == 0 ? GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession : GameManager.gameManager.PlayerDataPool.TeamInfo.GetTeamMember(1).Profession); GetAndAddCharModelId(index, config.GainFashionId); } } public void GetAndAddCharModelId(int index, int _FashionItemId) { var charModelId = -1; if (GameManager.gameManager.PlayerDataPool.TeamInfo.GetTeamMember(index).IsValid()) { var fashionItemTab = TableManager.GetFashionItemByID(_FashionItemId, 0); if (fashionItemTab != null) { var itemVisual = TableManager.GetItemVisualByID(fashionItemTab.ItemVisualId, 0); if (itemVisual != null) switch (GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession) { case (int) CharacterDefine.PROFESSION.XUANNV: charModelId = itemVisual.CharModelIDXiaoYao; break; case (int) CharacterDefine.PROFESSION.LIUSHAN: charModelId = itemVisual.CharModelIDTianShan; break; case (int) CharacterDefine.PROFESSION.SHUSHAN: charModelId = itemVisual.CharModelIDDaLi; break; case (int) CharacterDefine.PROFESSION.TIANJI: charModelId = itemVisual.CharModelIDShaoLin; break; } } } } public void SetCanGainTitleDesc() { //取得当前队伍信息 var manName = GameManager.gameManager.PlayerDataPool.TeamInfo.GetTeamMember(0).MemberName; var femaleName = GameManager.gameManager.PlayerDataPool.TeamInfo.GetTeamMember(1).MemberName; coupTileList[0].text = string.Format(config.GetTitleNamebyIndex(0), manName); coupTileList[1].text = string.Format(config.GetTitleNamebyIndex(1), femaleName); } public void SetTitleIcon() { var bundlePath = TableManager.GetBundlePathByID(config.BundlePathId, 0); if (bundlePath == null) return; LoadAssetBundle.Instance.LoadGameObject(LoadAssetBundle.BUNDLE_PATH_EFFECT, bundlePath.Name, delegate(string assetName, GameObject resObj, Hashtable hashParam) { if (resObj != null) { var iconObj = Instantiate(resObj); iconObj.transform.SetParent(titleIconParent); iconObj.transform.localPosition = Vector3.zero; iconObj.transform.localRotation = Quaternion.Euler(Vector3.zero); iconObj.transform.localScale = Vector3.one * bundlePath.Scale; } }, new Hashtable()); } public void SetFashionItemInfo() { var fashionItem = TableManager.GetFashionItemByID(config.GainFashionId, 0); if (fashionItem == null) { Debug.LogErrorFormat("fashionItem is null, id is{0}", config.GainFashionId); return; } var itemVisual = TableManager.GetItemVisualByID(fashionItem.ItemVisualId, 0); if (itemVisual == null) { Debug.LogErrorFormat("itenmvisual is null, id is{0}", fashionItem.ItemVisualId); return; } var _CurIndex = 0; for (var index = 0; index < fashionItem.getCommonitemIdCount(); index++) if (fashionItem.GetCommonitemIdbyIndex(index) == config.GainFashionItemId) { _CurIndex = index; break; } CalculateFashionRemainTime(fashionItem.GetGainTimebyIndex(_CurIndex)); } public void CalculateFashionRemainTime(int remainTime) { if (remainTime == -1) //永久 { weedingClothRemainTime.text = StrDictionary.GetClientDictionaryString("#{1442}"); } else { var remainDay = remainTime / 24 / 3600; weedingClothRemainTime.text = StrDictionary.GetClientDictionaryString("#{2446}", remainDay); } } public void ShowMarkIcon(bool isShow) { markIcon.gameObject.SetActive(isShow); } public void OnItemClick() { WeedingPanelCtr.Instance.OnWeedingItemClick(weedingId); } }