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();
        }
Exemplo n.º 2
0
        protected override void OnOpen(object userData)
        {
            base.OnOpen(userData);

            dataLevel = GameEntry.Data.GetData <DataLevel>();
            if (dataLevel == null)
            {
                return;
            }

            currentLevelData = dataLevel.GetLevelData(dataLevel.CurrentLevelIndex);
            if (currentLevelData == null)
            {
                return;
            }

            dataTower = GameEntry.Data.GetData <DataTower>();
            if (dataTower == null)
            {
                return;
            }

            ShowTowerBuildButtons();
            buildInfo.anchoredPosition = new Vector2(buildInfo.anchoredPosition.x, -200);
            showBuildInfo = false;

            Subscribe(HidePreviewTowerEventArgs.EventId, OnHidePreviewTower);
        }
        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));
        }
        private void OnSellConfirmButtonClick()
        {
            if (tower == null || click)
            {
                return;
            }

            DataTower dataTower = GameEntry.Data.GetData <DataTower>();

            dataTower.SellTower(tower.SerialId);
            click = true;
            GameEntry.Sound.PlaySound(EnumSound.TDTowerSell);
            Close();
        }
        private void OnUpgradeButtonClick()
        {
            if (tower == null || click)
            {
                return;
            }

            DataTower dataTower = GameEntry.Data.GetData <DataTower>();

            dataTower.UpgradeTower(tower.SerialId);
            click = true;

            GameEntry.Sound.PlaySound(EnumSound.ui_sound_forward);
            Close();
        }