private static Type FindComponent(KGComponent component) { var componentType = Assembly.GetExecutingAssembly() .GetTypes().Where(type => type.Name == "KG" + component.ToString()) .FirstOrDefault(); if (componentType == null) { Debug.LogError("Component not found : " + component.ToString()); return(null); } return(componentType); }
/// <summary> /// 컴포넌트를 활성화하거나 비활성화한다. /// </summary> /// <param name="component">변경할 컴포넌트</param> /// <param name="enable">활성화 또는 비활성화</param> /// <returns>성공 여부</returns> public static bool EnableComponent(KGComponent component, bool enable) { var handler = GetComponent(component); if (handler.isAvaliable) { Debug.LogWarning("Component(" + component.ToString() + ") not avaliable for current package."); } if (enable) { handler.OnEnable(); } else { handler.OnDisable(); } return(true); }