Beispiel #1
0
        public void RefreshMapUnits()
        {
            var mapUnits = objectTileMap.GetComponentsInChildren <GameUnit>();

            if (mapUnits.Any())
            {
                foreach (var unit in mapUnits)
                {
                    // Add the unit to our list of units and objects on this map
                    if (!MapUnits.Contains(unit))
                    {
                        MapUnits.Add(unit);
                    }
                    if (!MapObjects.Contains(unit))
                    {
                        MapObjects.Add(unit);
                    }
                    // And make sure it's Map X/Y coordinates are corred in our grid
                    var unitPosition = objectTileMap.WorldToCell(unit.transform.position);
                    var gridPosition = objectTileMap.CellToWorld(unitPosition);
                    unit.transform.position = gridPosition;
                    TranslateUnityXYToMapXY(unitPosition, out var unitMapX, out var unitMapY);
                    unit.MapX = unitMapX;
                    unit.MapY = unitMapY;
                }
            }
        }