|  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     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(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void Init(int skillID, UnityAction onclick, bool showType = false) | 
 |  |  |     public void Init(int skillID, UnityAction onclick = null, bool showType = false) | 
 |  |  |     { | 
 |  |  |         LoadPrefab();   //存在被卸载的可能,重新加载 | 
 |  |  |         var config = SkillConfig.Get(skillID); | 
 |  |  |         skillIcon.SetSprite(config.IconName); | 
 |  |  |         skillBtn.AddListener(onclick); | 
 |  |  |         if (config == null) | 
 |  |  |         { | 
 |  |  |             Debug.LogErrorFormat("技能未配置 : {0}", skillID); | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         skillIcon.SetOrgSprite(config.IconName, "SkillIcon"); | 
 |  |  | #if UNITY_EDITOR | 
 |  |  |         if (string.IsNullOrEmpty(config.IconName)) | 
 |  |  |         {  | 
 |  |  |             //内网测试 | 
 |  |  |             skillIcon.SetOrgSprite("skillicondefault", "SkillIcon"); | 
 |  |  |         } | 
 |  |  | #endif | 
 |  |  |          | 
 |  |  |         skillBtn.AddListener(()=> | 
 |  |  |         { | 
 |  |  |             onclick?.Invoke(); | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         if (showType) | 
 |  |  |         { | 
 |  |  |             skillType.text = Language.Get(config.FuncType == 23 ? "HeroSkillType_1" : "HeroSkillType_2"); | 
 |  |  |             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; | 
 |  |  |     } | 
 |  |  | } | 
 |  |  |  |