using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using GCGame.Table; using GCGame; public class WorldBossGuide : MonoBehaviour { public Text m_CostMoney; public Text m_DugTimes; public UICameraTexture m_BossModel; public UIContainerSelect m_BossList; public GameObject RewardJoin; public GameObject RewardBank; public Text Tip; public void OnEnable() { var shows = new List(); var selects = new List(); var Bosss = TableManager.GetWorldBossConfig(); foreach (var boss in Bosss) { if (0 == boss.Value.ISOtherServer) shows.Add(boss.Key); } if(shows.Count > 0 && selects.Count<=0) selects.Add(shows[0]); m_BossList.InitSelectContent(shows, selects, OnSelectBoss); //检查是否需要出指引 ShowGuide(); } public void OnSelectBoss(object initInfo) { int bossId = (int)initInfo; Tab_WorldBossConfig TabBoss = TableManager.GetWorldBossConfigByID(bossId, 0); if (TabBoss == null) return; m_DugTimes.text = string.Format("{0}/{1}", TabBoss.TreasureMax, TabBoss.TreasureMax); m_CostMoney.text = TabBoss.GetMoneyCountbyIndex(0).ToString(); m_BossModel.gameObject.SetActive(false); Tab_RoleBaseAttr RoleBase = TableManager.GetRoleBaseAttrByID(bossId, 0); if (RoleBase != null) { Tab_CharModel charModel = TableManager.GetCharModelByID(RoleBase.CharModelID, 0); if(charModel!=null) { m_BossModel.gameObject.SetActive(true); m_BossModel.InitModelPath("", charModel,LoadAssetBundle.BUNDLE_PATH_MODEL,true); } } InitJoinReward(TabBoss.GetRewardShowbyIndex(0), RewardBank, BackRewards); InitJoinReward(TabBoss.GetRewardShowbyIndex(1), RewardJoin, JoinRewards); WorldBossData.Instance.m_CurrentShowBossId = bossId; } List JoinRewards = new List(); List BackRewards = new List(); public void InitJoinReward(string items,GameObject cloneObj,List objs) { for (int i=0;i< objs.Count;i++) { objs[i].SetActive(false); } string[] itemIds = items.Split(':'); for(int i=0;i i) { CloneRewardItem(itemID, objs[i], cloneObj); continue; } GameObject newObj = CloneRewardItem(itemID, null, cloneObj); if(newObj!=null) objs.Add(newObj); } } } public GameObject CloneRewardItem(int itemId,GameObject oldItemObj,GameObject cloneObj) { if (oldItemObj == null && cloneObj == null) return null; Tab_CommonItem commonItem = TableManager.GetCommonItemByID(itemId, 0); if (commonItem == null) return null; if (oldItemObj==null) { oldItemObj = GameObject.Instantiate(cloneObj); oldItemObj.transform.SetParent(cloneObj.transform.parent); oldItemObj.transform.localPosition = Vector3.zero; oldItemObj.transform.localScale = cloneObj.transform.localScale; } if (oldItemObj == null) return null; oldItemObj.SetActive(true); Button btn = oldItemObj.GetComponentInChildren