示例#1
0
        //public override void GetComponentFromEntityManager() {
        //    _component = GetComponent<GameObjectEntity>().GetComponentFromEntityManager<TComponent>();
        //}

        private void OnEnable()
        {
            GameObjectEntity gameObjectEntity = GetComponent <GameObjectEntity>();

            if (gameObjectEntity.IsInitialized)
            {
                gameObjectEntity.EntityManager.SubscripeComponentChanged(gameObjectEntity.Entity, this);
                _component = gameObjectEntity.GetComponentFromEntityManager <TComponent>();
            }
        }
        private void OnEnable()
        {
            GameObjectEntity gameObjectEntity = GetComponent <GameObjectEntity>();

            if (enabled == false)
            {
                return;
            }

            if (gameObjectEntity.IsInitialized)
            {
                gameObjectEntity.EntityManager.SubscripeComponentChanged(gameObjectEntity.Entity, this);
                if (gameObjectEntity.EntityManager.HasComponent <TComponent>(gameObjectEntity.Entity))
                {
                    _component = gameObjectEntity.GetComponentFromEntityManager <TComponent>();
                }
                else
                {
                    gameObjectEntity.EntityManager.AddComponent(gameObjectEntity.Entity, _component);
                }
            }
        }