205 lines
6.0 KiB
C#
205 lines
6.0 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
using GCGame.Table;
|
|
using Games.GlobeDefine;
|
|
using UnityEngine.UI;
|
|
using System.Collections.Generic;
|
|
|
|
public class FashionViewPanelCtr : MonoBehaviour{
|
|
|
|
public Text fashionItemName;
|
|
public UICameraTexture modelCamera;
|
|
|
|
public static FashionViewPanelCtr Instance;
|
|
private void Awake()
|
|
{
|
|
Instance = this;
|
|
}
|
|
|
|
private void OnDestroy()
|
|
{
|
|
Instance = null;
|
|
}
|
|
|
|
private void OnEnable()
|
|
{
|
|
SetBtnNameAndState();
|
|
}
|
|
|
|
public List<GameObject> _MarkIconList;
|
|
public List<Text> _MenuItemNameList;
|
|
|
|
private int _CurItemVisualId = -1;
|
|
public void ShowFashionView(Tab_CommonItem _CommonItem)
|
|
{
|
|
fashionItemName.text = _CommonItem.Name;
|
|
Tab_CommonFashionItem commonFashionItem = TableManager.GetCommonFashionItemByID(_CommonItem.Id, 0);
|
|
if(commonFashionItem == null)
|
|
{
|
|
OnBackClick();
|
|
return;
|
|
}
|
|
int _Prefession = -1;
|
|
var _MainPlayer = Singleton<ObjManager>.Instance.MainPlayer;
|
|
if(_MainPlayer != null)
|
|
{
|
|
_Prefession = _MainPlayer.Profession;
|
|
}else
|
|
{
|
|
_Prefession = GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.Profession;
|
|
}
|
|
if(_Prefession == -1)
|
|
{
|
|
OnBackClick();
|
|
return;
|
|
}
|
|
switch(_CommonItem.SubClassID)
|
|
{
|
|
case (int)Games.Item.FashionSubClass.FASHION:
|
|
{
|
|
if(gameObject.activeInHierarchy)
|
|
{
|
|
_CurItemVisualId = commonFashionItem.ItemVisualId;
|
|
OnProfessionBtnClick(_Prefession);
|
|
}
|
|
}
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void SetBtnNameAndState()
|
|
{
|
|
for(int index = 0; index < (int)CharacterDefine.PROFESSION.MAX; index ++)
|
|
{
|
|
string _StrId = "#{" + (int)CharacterDefine.PROFESSION_DICNUM[index] + "}";
|
|
_MenuItemNameList[index].text = _MenuItemNameList[index + (int)CharacterDefine.PROFESSION.MAX].text = StrDictionary.GetClientDictionaryString(_StrId);
|
|
}
|
|
}
|
|
|
|
public void OnProfessionBtnClick(int index )
|
|
{
|
|
for(int _Index = 0; _Index < _MarkIconList.Count; _Index++)
|
|
{
|
|
_MarkIconList[_Index].SetActive(index == _Index);
|
|
}
|
|
|
|
//StopAllCoroutines();
|
|
if (_IsMarryView)
|
|
{
|
|
StartCoroutine(ShowFashionView(_CurFashionItemId, index));
|
|
}else
|
|
{
|
|
StartCoroutine(ShowSelfFashionView(_CurItemVisualId, index));
|
|
}
|
|
}
|
|
|
|
private int _CurFashionItemId = -1;
|
|
private int _MarryItemDataId = -1;
|
|
public void SetFashionView(int fahsionItemId, int profession, int marryItemId)
|
|
{
|
|
_IsMarryView = true;
|
|
_CurFashionItemId = fahsionItemId;
|
|
_MarryItemDataId = marryItemId;
|
|
OnProfessionBtnClick(profession);
|
|
}
|
|
|
|
private bool _IsMarryView = false;
|
|
IEnumerator ShowSelfFashionView(int _ItemVisualId, int profession)
|
|
{
|
|
yield return new WaitForEndOfFrame();
|
|
var itemVisual = TableManager.GetItemVisualByID(_ItemVisualId, 0);
|
|
if (itemVisual == null)
|
|
{
|
|
yield break;
|
|
}
|
|
|
|
int charModelId = -1;
|
|
switch (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;
|
|
}
|
|
Tab_CharModel charModel = TableManager.GetCharModelByID(charModelId, 0);
|
|
if(charModel == null)
|
|
{
|
|
yield break;
|
|
}
|
|
|
|
modelCamera.InitModelPath(charModel.ResPath, charModel, LoadAssetBundle.BUNDLE_PATH_MODEL, true);
|
|
yield break;
|
|
}
|
|
|
|
IEnumerator ShowFashionView(int fahsionItemId, int profession)
|
|
{
|
|
yield return new WaitForEndOfFrame();
|
|
var fahionItemTab = TableManager.GetFashionItemByID(fahsionItemId, 0);
|
|
if(fahionItemTab == null)
|
|
{
|
|
yield break;
|
|
}
|
|
|
|
Tab_CommonItem commonmItem = TableManager.GetCommonItemByID(_MarryItemDataId, 0);
|
|
if (commonmItem != null)
|
|
{
|
|
fashionItemName.text = commonmItem.Name;
|
|
}
|
|
|
|
var itemVisual = TableManager.GetItemVisualByID(fahionItemTab.ItemVisualId, 0);
|
|
if(itemVisual == null)
|
|
{
|
|
yield break;
|
|
}
|
|
|
|
int charModelId = -1;
|
|
switch(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;
|
|
}
|
|
if(charModelId == -1)
|
|
{
|
|
yield break;
|
|
}
|
|
Tab_CharModel charModel = TableManager.GetCharModelByID(charModelId, 0);
|
|
if(charModel == null)
|
|
{
|
|
yield break;
|
|
}
|
|
|
|
modelCamera.InitModelPath(charModel.ResPath, charModel, LoadAssetBundle.BUNDLE_PATH_MODEL, true);
|
|
yield break;
|
|
}
|
|
|
|
public void OnBackClick()
|
|
{
|
|
UIManager.CloseUI(UIInfo.FashionViewPanel);
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
_IsMarryView = false; //隐藏的时候重置
|
|
}
|
|
}
|