protected override void OnStartRunning() { mTurretsRootTransform = new GameObject("TurretsList_Root").GetComponent <Transform>(); mMainCamera = Camera.main; mGridCellPhysicsLayerMask = 1 << LayerMask.NameToLayer(GameSettings.mGridCellPhysicsLayerName); mGamePersistentData = GameObject.FindObjectOfType <GamePersistentData>(); mCurrSelectedTurretIndex = -1; EventBus.OnStartTurretPlacement += _onStartTurretPlacement; }
public static void BuildDataGamePersistent() { GamePersistentData data = null; string folderPath = EditorUtils.GetSelectedDirAssetsPath(); string spriteDataPath = folderPath + "/GamePersistentData.asset"; data = AssetDatabase.LoadAssetAtPath <GamePersistentData>(spriteDataPath); if (data == null) { data = ScriptableObject.CreateInstance <GamePersistentData>(); AssetDatabase.CreateAsset(data, spriteDataPath); } EditorUtility.SetDirty(data); AssetDatabase.SaveAssets(); }
public GameUIController(GameUIView view, GamePersistentData data) { mView = view ?? throw new ArgumentNullException("view"); mPersistentData = data ?? throw new ArgumentNullException("data"); EventBus.OnBaseHealthChanged += _onHealthChanged; EventBus.OnEnemyDestroyed += _onEnemyDestroyed; EventBus.OnNewWaveIsComing += _onNewWaveIsComming; EventBus.OnNewTurretWasCreated += _onNewTurretWasCreated; _updateAvailableTurretsUIList(mPersistentData.mTurrets); mView.ScoreValue = mPersistentData.mCurrScore; mView.OnPauseGameButtonClicked += _onPauseGameTime; mView.OnNormalTimeGameButtonClicked += _onSetNormalGameTime; mView.OnSpeedUpGameButtonClicked += _onSpeedUpGameTime; }