找回密码
 立即注册
查看: 286|回复: 0

泛型获取UGUI的组件

[复制链接]
发表于 2022-6-27 11:39 | 显示全部楼层 |阅读模式
UGUI UIBehaviour是所有UI组件的基类,UI组件都是直接或者间接继承UIBehaviour这个抽象类的,它继承自MonoBehavior,所以拥有和Unity相同的生命周期
public bool TryGetControl<T>(int id, out T ui, bool addIfNotExist = false) where T : MonoBehaviour{    ui = null;    UIBehaviour behaviour = id2ui[id]; //id2ui-UIBehaviour[]    ui = behaviour as T;    if (ui == null){        ui = behaviour.GetComponent<T>();        if (ui == null){            if (addIfNotExist){                ui = behaviour.gameObject.AddComponent<T>();                return true;                    }            return false;        }        return true;    }    return true;}
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-22 07:25 , Processed in 0.086098 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表