private void Awake()
 {
     if (Init(instance, COMPONENT_NAME))
     {
         instance = this;
     }
 }
 protected override void DisposeInternal()
 {
     base.DisposeInternal();
     instance = null;
 }