static internal T Add <T>(ComponentObject obj) where T : GOEBaseComponent, new() { T t = obj.GetComponent <T>(); if (null == t) { t = obj.AddComponent <T>(); } return(t); }
static internal void EnableComponent <T>(ComponentObject obj, bool bEnable) where T : GOEBaseComponent, new() { if (bEnable) { T t = Add <T>(obj); t.Enable = bEnable; } else { T t = obj.GetComponent <T>(); if (t != null) { t.Enable = bEnable; } } }