|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Image m_WordBG; | 
|---|
|  |  |  | Image wordBG | 
|---|
|  |  |  | { | 
|---|
|  |  |  | get | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (m_WordBG == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | m_WordBG = this.transform.GetComponent<Image>("Container_SkillCell/Image"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return m_WordBG; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | void Awake() | 
|---|
|  |  |  | { | 
|---|
|  |  |  | LoadPrefab(); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void Init(int skillID, UnityAction onclick = null, bool showType = false) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | LoadPrefab();   //存在被卸载的可能,重新加载 | 
|---|
|  |  |  | var config = SkillConfig.Get(skillID); | 
|---|
|  |  |  | if (config == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | if (showType) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | skillType.text = Language.Get(config.FuncType == 1 ? "HeroSkillType_1" : "HeroSkillType_2"); | 
|---|
|  |  |  | wordBG.SetActive(true); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | { | 
|---|
|  |  |  | skillType.text = string.Empty; | 
|---|
|  |  |  | wordBG.SetActive(false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | var scale = 1f; | 
|---|
|  |  |  | var rect = cellContainer.GetComponent<RectTransform>(); | 
|---|
|  |  |  | var parentRect = transform.GetComponent<RectTransform>(); | 
|---|
|  |  |  | scale = parentRect.sizeDelta.x / rect.sizeDelta.x; | 
|---|
|  |  |  | cellContainer.transform.localScale = new Vector3(scale, scale, scale); | 
|---|
|  |  |  | float width = parentRect.sizeDelta.x; | 
|---|
|  |  |  | if (width <= 0f) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //外部控制了尺寸获取为0 | 
|---|
|  |  |  | GridLayoutGroup grid = GetComponentInParent<GridLayoutGroup>(); | 
|---|
|  |  |  | if (grid != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | width = grid.cellSize.x; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | scale = width / rect.sizeDelta.x; | 
|---|
|  |  |  | cellContainer.transform.localScale = cellContainer.transform.localScale * scale; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|