|  |  |  | 
|---|
|  |  |  | LoadPrefab(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void Init(int skillID, UnityAction onclick, bool showType = false) | 
|---|
|  |  |  | public void Init(int skillID, UnityAction onclick = null, bool showType = false) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (cellContainer != null) | 
|---|
|  |  |  | return; | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var tmp = transform.Find("Container_SkillCell"); | 
|---|
|  |  |  | if (tmp != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 
|---|
|  |  |  | cellContainer.transform.SetAsFirstSibling(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //缩放到和父rect一样大 | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|