void Update() { if (FloorGen.GetFloorPositions().Count > 0 && !m_enemyPlaced) { Vector3Int position = FloorGen.GetFloorPositions()[Random.Range(0, FloorGen.GetFloorPositions().Count)]; Vector3 positionReadjusted = new Vector3(position.x + 0.5f, position.y + 0.5f, 0); transform.position = positionReadjusted; m_enemyPlaced = true; } if (ShouldMove && m_canSeePlayer) { Movement(); } if (FoundPlayer) { RaycastHit2D hit = Physics2D.Raycast(transform.position, -(transform.position - m_player.transform.position), LayerMask.GetMask("Level")); if (hit.collider != null) { if (hit.transform.gameObject.tag.Contains("Player")) { m_canSeePlayer = true; } else { m_canSeePlayer = false; } } } Fire(); if (m_currentHealth <= 0) { transform.parent.GetComponent <EnemySpawner>().Enemies.Remove(gameObject); Destroy(gameObject); } }
void LoadMainMenu() { m_levelLoad.LoadLevel(0); FloorGen.GetFloorPositions().Clear(); FloorGen.GetFloorTilePositions().Clear(); Time.timeScale = 1; }
void LevelLoad() { FloorGen.GetFloorPositions().Clear(); FloorGen.GetFloorTilePositions().Clear(); m_fileManager.SaveJson(); m_levelLoad.LoadLevel(0); m_levelLoad.FreeMode = false; m_levelLoad.ScoreMode = false; m_levelLoad.ExitMode = false; m_levelLoad.Seed = 0; m_levelLoad.WorldName = ""; Time.timeScale = 1; }
private void Update() { if (m_buildEnemies) { AmountToSpawn = FloorGen.GetFloorPositions().Count / 100; for (int i = 0; i < AmountToSpawn; ++i) { GameObject clone = Instantiate(EnemyPrefab); clone.transform.SetParent(transform); Enemies.Add(clone); } m_buildEnemies = false; } }
private void Update() { if (!m_lightsPlaced) { for (int i = 0; i < LightAmount; ++i) { Vector3Int position = FloorGen.GetFloorPositions()[Random.Range(0, FloorGen.GetFloorPositions().Count)]; Vector3 positionReadjusted = new Vector3(position.x + 0.5f, position.y + 0.5f, 0); Instantiate(LightPrefab, positionReadjusted, Quaternion.identity); FloorGen.GetFloorPositions().Remove(position); } m_lightsPlaced = true; } }
void ReloadLevel() { Time.timeScale = 1; FloorGen.GetFloorPositions().Clear(); FloorGen.GetFloorTilePositions().Clear(); m_levelLoad.LoadLevel(SceneManager.GetActiveScene().buildIndex); if (m_manager.ScoreMode) { m_manager.Player.GetComponent <Scoring>().CurrentScore = 0; } if (m_manager.ExitMode) { m_manager.Player.transform.position = new Vector3(0, 0, 0); } }
public void WinState() { if (m_dungeon == null) { m_dungeon = GameObject.Find("Map").GetComponent <BuildDungeon>(); } // m_fileManager.TileSetter(); if (ScoreMode && !m_scoresPlaced) { m_scoreAmount = FloorGen.GetFloorPositions().Count / 4; for (int i = 0; i < m_scoreAmount; ++i) { if (FloorGen.GetFloorPositions().Count > 1) { Vector3Int position = FloorGen.GetFloorPositions()[Random.Range(0, FloorGen.GetFloorPositions().Count)]; Vector3 positionReadjusted = new Vector3(position.x + 0.5f, position.y + 0.5f, 0); FloorGen.GetFloorPositions().Remove(position); GameObject scoreClone = Instantiate(ScorePrefab, positionReadjusted, Quaternion.identity, transform); scoreClone.GetComponent <ScorePoint>().ScoreWorth = Random.Range(1, 25); Scores.Add(scoreClone); } } for (int i = 0; i < Scores.Count; ++i) { m_totalScore += Scores[i].GetComponent <ScorePoint>().ScoreWorth; } m_scoresPlaced = true; } if (m_scoresPlaced) { m_totalScoreNeeded = m_totalScore / 2; ScoreNeededText.text = "Score Needed: " + m_totalScoreNeeded; if (Player.GetComponent <Scoring>().CurrentScore >= m_totalScoreNeeded) { WinScreen.SetActive(true); } } }
public void SetExit() { if (FloorGen.GetFloorPositions().Count > 0 && !EndPointPlaced && m_playerMovement.GetPlayerPlaced()) { List <Vector3Int> FloorPoints = new List <Vector3Int>(); Vector3Int playerMovement = new Vector3Int((int)m_playerMovement.transform.position.x, (int)m_playerMovement.transform.position.y, 0); for (int i = 0; i < FloorGen.GetFloorPositions().Count; ++i) { if (Vector3Int.Distance(FloorGen.GetFloorPositions()[i], playerMovement) > 20) { FloorPoints.Add(FloorGen.GetFloorPositions()[i]); } } Vector3Int position = FloorPoints[Random.Range(0, FloorPoints.Count)]; Vector3 positionReadjusted = new Vector3(position.x + 0.5f, position.y + 0.5f, 0); transform.position = positionReadjusted; if (transform.position != m_playerMovement.transform.position) { EndPointPlaced = true; } Debug.Log("Setting exit : " + transform.position); } }
public void LoadJson() { string LoadString = SaveLoadSystem.Load(WorldName); if (LoadString != null) { Save = JsonUtility.FromJson <SaveFile>(LoadString); Random.InitState(Save.Seed); GameObject clone = Instantiate(Dungeon); clone.transform.position = new Vector3(0, 0, 0); clone.transform.SetParent(transform); SquareRoomAmount = Save.SquareRoomAmount; CircleRoomAmount = Save.CircleRoomAmount; TShapeRoomAmount = Save.TShapeRoomAmount; LShapeRoomAmount = Save.LShapeRoomAmount; DiamondRoomAmount = Save.DiamondRoomAmount; XDimension = Save.XDimension; YDimension = Save.YDimension; if (Save.DigPower > 1) { GameObject.Find("Player").GetComponent <DigTier>().CurrentDigTier = Save.DigPower; } clone.transform.GetChild(0).GetComponent <BuildDungeon>().Build(); InventoryBackpack backpack = GameObject.Find("Player").GetComponent <InventoryBackpack>(); for (int i = 0; i < Save.ItemPacks.Count; ++i) { if (backpack.Storage.All(t => t.ID != Save.ItemPacks[i].InventorySlot.ID)) { backpack.Storage.Add(Save.ItemPacks[i].InventorySlot); } } for (int i = 0; i < backpack.Storage.Count; ++i) { for (int a = 0; a < TileManager.AllTiles.Count; ++a) { if (backpack.Storage[i].ID == TileManager.AllTiles[a].ID) { for (int b = 0; b < backpack.Storage[i].Items.Count; ++b) { backpack.Storage[i].Items[b] = TileManager.AllTiles[a].Item; backpack.Storage[i].Items[b].ItemID = TileManager.AllTiles[a].Item.ItemID; } } } } TilesToSave = Save.DataPacks; TilePlacer(Save, clone.transform.GetChild(0).GetComponent <Tilemap>(), clone.transform.GetChild(1).GetComponent <Tilemap>()); GameObject.Find("Player").transform.position = Save.PlayerPosition; GameObject.Find("Player").GetComponent <PlayerMovement>().SetPlayerPlaced(true); if (Save.ModeName == "FreeMode") { GameObject.Find("GameManager").GetComponent <GameManager>().FreeMode = true; } if (Save.ModeName == "ScoreMode") { GameObject.Find("GameManager").GetComponent <GameManager>().ScoreMode = true; } if (Save.ModeName == "ExitMode") { GameObject.Find("GameManager").GetComponent <GameManager>().ExitMode = true; } } else { if (SetSeed == 0) { Random.InitState(123123); } else { Random.InitState(SetSeed); } GameObject clone = Instantiate(Dungeon); clone.transform.position = new Vector3(0, 0, 0); clone.transform.SetParent(transform); clone.transform.GetChild(0).GetComponent <BuildDungeon>().Build(); if (FloorGen.GetFloorPositions().Count > 0) { Vector3Int position = FloorGen.GetFloorPositions()[Random.Range(0, FloorGen.GetFloorPositions().Count)]; Vector3 positionReadjusted = new Vector3(position.x + 0.5f, position.y + 0.5f, 0); GameObject.Find("Player").transform.position = positionReadjusted; GameObject.Find("Player").GetComponent <PlayerMovement>().SetPlayerPlaced(true); FloorGen.GetFloorPositions().Remove(position); } SaveJson(); } }