217 lines
7.7 KiB
C#
217 lines
7.7 KiB
C#
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<Text> coupTileList;
|
|
public Image markIcon;
|
|
public Transform titleIconParent;
|
|
public List<ViewFashionItem> viewFashionItemList;
|
|
public Text weedingClothRemainTime;
|
|
public int weedingId = -1;
|
|
public Text weedingName;
|
|
public List<GameObject> _TypeIcon;
|
|
|
|
public Text _WCName;
|
|
public Image _WCTypeIcon;
|
|
public Text _BanquetName;
|
|
public List<Image> _ItemQualityList;
|
|
public List<Image> _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);
|
|
}
|
|
} |