Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        // 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);
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
            public Tile(TileFloor floor, Coordinate location)
            {
                this.Location = location;
                this.Floor    = floor;

                this.Floor.AddTile(this);
            }
Exemplo n.º 6
0
        public object GetResult1()
        {
            var floor = new TileFloor();

            foreach (var route in Routes)
            {
                var tile = route.Walk(floor.CenterTile);
                tile.Flip();
            }

            return(floor.BlackTiles.Count);
        }
Exemplo n.º 7
0
    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;
        }
    }
Exemplo n.º 8
0
 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;
     }
 }
Exemplo n.º 9
0
    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;
            }
        }
    }
Exemplo n.º 10
0
Arquivo: Tile.cs Projeto: Iilun/IC06
 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);
         }
     }
 }
Exemplo n.º 11
0
 private void Start()
 {
     _tileFloor      = GetTileFloor();
     _tileFloor.ally = this;
 }
Exemplo n.º 12
0
 public void RemoveFloor()
 {
     _floor.RemoveWeapon();
     _floor = null;
 }
Exemplo n.º 13
0
 public void SetFloor(TileFloor floor)
 {
     _floor = floor;
 }
Exemplo n.º 14
0
        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();
        }
Exemplo n.º 15
0
 private void Awake()
 {
     tileFloor = GetComponent <TileFloor>();
 }
Exemplo n.º 16
0
 public void AddStep(TileFloor tileFloor)
 {
     Steps.Add(tileFloor);
     print("New step: Move to " + tileFloor.name);
 }