// Start is called before the first frame update void Start() { tileSizeX = dungeonTilePrefab.GetComponent <BoxCollider2D>().size.x; tileSizeY = dungeonTilePrefab.GetComponent <BoxCollider2D>().size.y; ResizeGameArea(); GenerateGrid(); }
// ================================================================================================== // private void ShowArea(Position position) { // check valid area if (!_dungeonSaveData.Areas.ContainsKey(position)) { Debug.LogError("area doesn't exist in that position: " + position.ToString()); return; } // clear current grid clear(); // get the area AreaSaveData areaToShow = _dungeonSaveData.Areas[position]; // put area objects in grid. foreach (SaveData objSaveData in areaToShow.Objects) { DungeonTile tile = _grid.GetElement(objSaveData.Position) as DungeonTile; GameObject createdObj = createObjectInTile(objSaveData.Name, tile); // add crried items on creature if (objSaveData is CreatureSaveData) { CreatureSaveData creatureSaveData = objSaveData as CreatureSaveData; Creature creature = createdObj.GetComponent <Creature>(); foreach (ItemSaveData itemSaveData in creatureSaveData.CarriedItems) { createObjectInCreature(itemSaveData.Name, creature); } } } // fog of war foreach (DungeonTile tile in _grid.Elements) { tile.IsRevealed = areaToShow.TileRevealationMap[tile.Position.X, tile.Position.Y]; } // update current area index _currentShownAreaPosition = position; // update the dungeon tile sprite - grass or floor foreach (DungeonTile tile in _grid.Elements) { if (IsInOriginArea) { tile.GetComponent <SpriteRenderer>().sprite = ResourcesManager.Instance.OutdoorDungeonTileSprite; } else { tile.GetComponent <SpriteRenderer>().sprite = ResourcesManager.Instance.FloorDungeonTileSprite; } } }
internal virtual void OnStartTurn() { if (!IsFlying()) { SwitchTile switchTile = myTile.GetComponent <SwitchTile>(); if (switchTile && !switchTile.isOn) { Die(); } } hasBegunPlay = true; hasBeenSpotted = false; if (GetKeywords().Contains("Recover")) { size = Math.Min(GetSize(), size + 1); } if (GetKeywords().Contains("Stunned")) { baseKeywords.Remove("Stunned"); } else { hasUsedAction = false; movesLeft = GetSpeed(); } }