private void Start() { if (m_MapScriptable != null) { m_TotalSpawnWave = m_MapScriptable.Maps.SpawnWaves.Count(); } if (m_GameDataListener != null) { m_GameDataListener.PlaceTotalWaveText(m_TotalSpawnWave); m_GameDataListener.UpdateCurrentWave(m_SpawnWaveCounter); } if (m_GameManager == null) { m_GameManager = FindObjectOfType <GameManager>(); } if (m_GameDataListener == null) { m_GameDataListener = FindObjectOfType <GameDataListener>(); } StartCoroutine(Spawn (m_MapScriptable.Maps.SpawnWaves.First(w => w.SpawnWaveIndex == m_SpawnWaveCounter).StandardEnemyAmout, m_MapScriptable.Maps.SpawnWaves.First(w => w.SpawnWaveIndex == m_SpawnWaveCounter).BigEnemeyAmout)); }
private void Setup() { IsDead = false; if (m_HealthObserverable != null) { m_HealthObserverable.Health.Subscribe(HealthChange).AddTo(m_Disposables); m_HealthObserverable.Health.Where(playerHealth => playerHealth <= 0).Subscribe(Die).AddTo(m_Disposables); } if (m_GameDataListener == null) { m_GameDataListener = FindObjectOfType <GameDataListener>(); } if (m_GameDataListener != null) { m_GameDataListener.UpdatePlayerHealth(m_HealthObserverable.Health.Value); } if (m_GameManager == null) { m_GameManager = FindObjectOfType <GameManager>(); } }
private void OnEnable() { m_isDead = false; if (m_HealthObserverable != null) { m_HealthObserverable.Health.Subscribe(Damage).AddTo(m_Disposables); m_HealthObserverable.Health.Where(health => health <= 0).Subscribe(Die).AddTo(m_Disposables); } if (m_GameDataListener == null) { m_GameDataListener = FindObjectOfType <GameDataListener>(); } if (m_MapScriptable != null) { m_StartPoint = m_MapScriptable.StartPoint; m_EndPoint = m_MapScriptable.EndPoint; } m_StartPoint += new Vector3(0, m_Pivot, 0); m_EndPoint += new Vector3(0, m_Pivot, 0); List <Vector2Int> accesibles = m_MapScriptable.Maps.GridCells. Where(m => m_MapScriptable.m_MapWalkableDictionary[m.ObjectType]). Select(m => new Vector2Int(m.XPos2D, m.YPos2D)).ToList(); m_Dijkstra = new Dijkstra(accesibles); m_Path = m_Dijkstra.FindPath(m_StartPoint.ToVector2Int(m_MapScriptable.CellSize), m_EndPoint.ToVector2Int(m_MapScriptable.CellSize)).ToList(); transform.position = m_StartPoint; m_Speed = m_EnemyTypes.Speed; }
private void Start() { m_PlayerTower = FindObjectOfType <PlayerTower>(); m_GameDataListener = FindObjectOfType <GameDataListener>(); }