public override void Populate() { var txtFileLines = File.ReadAllLines(Install.GetPath("floors.txt")); var typeNames = txtFileLines[1].Split(Separators); for (int i = 2; i < txtFileLines.Length; i++) { var infos = txtFileLines[i].Split('\t'); var category = new TileCategory(); category.Name = infos.Last(); var style = new TileStyle(); category.AddStyle(style); for (int j = 1; j < typeNames.Length - 2; j++) { if (infos[j] != "0") { var tile = new TileFloor { Id = short.Parse(infos[j]) }; style.AddTile(tile); tile.ChangeFloorPosition(j); } } Categories.Add(category); } }
// Creates a Floor tile at the specified X/Y location private void CreateFloor(Point location) { TileFloor floor = new TileFloor(location, "stone"); // a simple setterrain already does it for me _map.SetTerrain(floor); }
public override void Populate() { var txtFileLines = File.ReadAllLines(DataManager.Location.LocalPath + "floors.txt"); var typeNames = txtFileLines[1].Split(Separators); for (int i = 2; i < txtFileLines.Length; i++) { var infos = txtFileLines[i].Split('\t'); var category = new TileCategory(); category.Name = infos.Last(); var style = new TileStyle(); category.AddStyle(style); for (int j = 1; j < typeNames.Length - 2; j++) { if (infos[j] != "0") { var tile = new TileFloor { Id = uint.Parse(infos[j]) }; style.AddTile(tile); tile.Position = j; } } Categories.Add(category); } }
public object GetResult2() { var floor = new TileFloor(); foreach (var route in Routes) { var tile = route.Walk(floor.CenterTile); tile.Flip(); } for (int n = 0; n < 100; n++) { var flipTiles = new HashSet <Tile>(); foreach (var tile in floor.BlackTiles) { tile.DetermineFlipsForSelfAndNeighbours(n, flipTiles); } foreach (var tile in flipTiles) { tile.Flip(); } } return(floor.BlackTiles.Count); }
public Tile(TileFloor floor, Coordinate location) { this.Location = location; this.Floor = floor; this.Floor.AddTile(this); }
public object GetResult1() { var floor = new TileFloor(); foreach (var route in Routes) { var tile = route.Walk(floor.CenterTile); tile.Flip(); } return(floor.BlackTiles.Count); }
private void PlaceWeapon(RaycastHit hitInfo) { TileFloor _floor = hitInfo.transform.gameObject.GetComponent <TileFloor>(); if (_floor.PlaceWeapon(_weaponToPlace)) { _levelController.RemoveWeaponFromListByIndex(_indexWeapon); _weaponToPlace.GetComponent <Weapon>().SetFloor(_floor); _weaponToPlace.GetComponent <Weapon>().Activate(); ChangeSelectedWeapon(_weaponToPlace); _weaponToPlace = null; } }
protected virtual void Start() { _hitPoints = _maxHitPoints; _tileFloor = GetTileFloor(); _audioSouce = GetComponent <AudioSource>(); if (_tileFloor == null) { Debug.LogError("Can´t find the tileFloor of the enemy " + name); } else { _tileFloor.enemy = this; } }
public virtual void PushBack(Vector3 impactDir) { RaycastHit _hitInfo; if (Physics.Raycast(_tileFloor.transform.position, impactDir, out _hitInfo, Mathf.Infinity, LayerMask.GetMask("Floor"))) { var _hitFloor = _hitInfo.transform.gameObject.GetComponent <TileFloor>(); if (_hitFloor.enemy == null) { _tileFloor.enemy = null; _tileFloor = _hitInfo.transform.gameObject.GetComponent <TileFloor>(); transform.position = _tileFloor.transform.position; } } }
public void SetTiles(Transform parent) { for (int i = 0; i < parent.childCount; i++) { Transform child = parent.GetChild(i); if (child.GetComponent <TileFloor>() != null) { tileFloor = child.GetComponent <TileFloor>(); tileFloor.SetTile(this); } else if (child.GetComponent <InteractableDestroyable>() != null) //ICI CA MARCHE PAS CAR PAS RECURSIF IL FAUT ALLER UN NIVEAU PLUS LOIN { interactable = child.GetComponent <InteractableDestroyable>(); interactable.SetTile(this); } if (child.transform.childCount > 0) { SetTiles(child); } } }
private void Start() { _tileFloor = GetTileFloor(); _tileFloor.ally = this; }
public void RemoveFloor() { _floor.RemoveWeapon(); _floor = null; }
public void SetFloor(TileFloor floor) { _floor = floor; }
private void ButtonAddTile_Click(object sender, RoutedEventArgs e) { var category = DataCategory.SelectedItem as TileCategory; var id = ListData.SelectedIndex; var style = DataStyle.SelectedItem as TileStyle; if (style == null) { style = new TileStyle(); category.AddStyle(style); } if (ComboEnum.SelectedItem == null) { return; } switch ((TilesInfo.Components.Enums.Type)ComboEnum.SelectedItem) { case Type.Wall: { var tile = new TileWall(); tile.Id = (short)id; style.AddTile(tile); break; } case Type.Roofs: { var tile = new TileRoof(); tile.Id = (short)id; style.AddTile(tile); break; } case Type.Floor: { var tile = new TileFloor(); tile.Id = (short)id; style.AddTile(tile); break; } case Type.Misc: { var tile = new TileMisc(); tile.Id = (short)id; style.AddTile(tile); break; } default: { var tile = new Tile(); tile.Id = (short)id; style.AddTile(tile); break; } } DataRefresh(); }
private void Awake() { tileFloor = GetComponent <TileFloor>(); }
public void AddStep(TileFloor tileFloor) { Steps.Add(tileFloor); print("New step: Move to " + tileFloor.name); }