protected override void OnInit(object userData)
        {
            base.OnInit(userData);

            classInstance = GameEntry.ILRuntime.CreateInstance(this.typeFullName, this.gameObject);
            GameEntry.ILRuntime.ExecuteMethod(classInstance, "OnInit", 1, userData);
        }
        protected void OnDestroy()
        {
            if (classInstance != null)
            {
                ReferencePool.Release(classInstance);
            }

            classInstance = null;
        }