public void Clear()
        {
            level        = null;
            levelManager = null;
            cameraInput  = null;

            if (entityLoader != null)
            {
                ReferencePool.Release(entityLoader);
            }

            entityLoader = null;

            uiMaskFormSerialId = null;

            dataPlayer = null;
            dataTower  = null;

            previewTowerData        = null;
            previewTowerEntity      = null;
            previewTowerEntityLogic = null;
            isBuilding = false;

            dicTowerInfo.Clear();
            dicEntityEnemy.Clear();
        }
Exemple #2
0
        protected override void OnHide(bool isShutdown, object userData)
        {
            base.OnHide(isShutdown, userData);

            UnSubscribeAll();
            if (eventSubscriber != null)
            {
                ReferencePool.Release(eventSubscriber);
                eventSubscriber = null;
            }

            HideAllEntity();
            if (entityLoader != null)
            {
                ReferencePool.Release(entityLoader);
                entityLoader = null;
            }

            HideAllItem();
            if (itemLoader != null)
            {
                ReferencePool.Release(itemLoader);
                itemLoader = null;
            }
        }
Exemple #3
0
        protected int ShowEntity <T>(int entityId, Action <Entity> onShowSuccess, object userData = null) where T : EntityLogic
        {
            if (entityLoader == null)
            {
                entityLoader = EntityLoader.Create(this);
            }

            return(entityLoader.ShowEntity <T>(entityId, onShowSuccess, userData));
        }
Exemple #4
0
        protected int ShowEntity(int entityId, Type entityLogicType, Action <Entity> onShowSuccess, object userData = null)
        {
            if (entityLoader == null)
            {
                entityLoader = EntityLoader.Create(this);
            }

            return(entityLoader.ShowEntity(entityId, entityLogicType, onShowSuccess, userData));
        }
Exemple #5
0
        public int ShowEntity <T>(EnumEntity enumEntity, Action <Entity> onShowSuccess, object userData = null) where T : EntityLogic
        {
            if (entityLoader == null)
            {
                entityLoader = EntityLoader.Create(this);
            }

            return(entityLoader.ShowEntity <T>(enumEntity, onShowSuccess, userData));
        }
Exemple #6
0
        public int ShowEntity(EnumEntity enumEntity, Type entityLogicType, Action <Entity> onShowSuccess, object userData = null)
        {
            if (entityLoader == null)
            {
                entityLoader = EntityLoader.Create(this);
            }

            return(entityLoader.ShowEntity(enumEntity, entityLogicType, onShowSuccess, userData));
        }
        public static EntityLoader Create(object owner)
        {
            EntityLoader entityLoader = ReferencePool.Acquire <EntityLoader>();

            entityLoader.Owner = owner;
            GameEntry.Event.Subscribe(ShowEntitySuccessEventArgs.EventId, entityLoader.OnShowEntitySuccess);
            GameEntry.Event.Subscribe(ShowEntityFailureEventArgs.EventId, entityLoader.OnShowEntityFail);

            return(entityLoader);
        }
        public void OnEnter()
        {
            entityLoader = EntityLoader.Create(this);
            dataLevel    = GameEntry.Data.GetData <DataLevel>();
            dataPlayer   = GameEntry.Data.GetData <DataPlayer>();
            dataTower    = GameEntry.Data.GetData <DataTower>();
            dataEnemy    = GameEntry.Data.GetData <DataEnemy>();

            GameEntry.UI.OpenUIForm(EnumUIForm.UILevelMainInfoForm);
            GameEntry.UI.OpenUIForm(EnumUIForm.UITowerListForm);

            entityLoader.ShowEntity <EntityPlayer>(EnumEntity.Player, null, EntityData.Create(level.PlayerPosition, level.PlayerQuaternion));
        }