public LevelLayer(Level level, LayerDrawType layerDrawType, string layerId)
 {
     parrentLevel = level;
     tiles = new Tile[parrentLevel.LevelWidth, parrentLevel.LevelHeight];
     this.layerDrawType = layerDrawType;
     this.layerId = layerId;
 }
Example #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="aILayer">raster layer</param>
 /// <param name="aLayersLegend">layersLegend</param>
 public RasterLayerSet(RasterLayer aILayer, LayersLegend aLayersLegend)
 {
     m_LayersLegend               = aLayersLegend;
     m_LayerName                  = aILayer.LayerName;
     m_FileName                   = aILayer.FileName;
     m_WorldFileName              = aILayer.WorldFileName;
     m_Handle                     = aILayer.Handle;
     m_LayerType                  = aILayer.LayerDrawType;
     m_Visible                    = aILayer.Visible;
     m_WFP                        = aILayer.WorldFileParaV;
     m_XUL                        = aILayer.WorldFileParaV.XUL;
     m_YUL                        = aILayer.WorldFileParaV.YUL;
     m_XScale                     = aILayer.WorldFileParaV.XScale;
     m_YScale                     = aILayer.WorldFileParaV.YScale;
     m_Extent                     = aILayer.Extent;
     m_Width                      = m_Extent.maxX - m_Extent.minX;
     m_Height                     = m_Extent.minY - m_Extent.maxY;
     m_XNum                       = aILayer.Image.Width;
     m_YNum                       = aILayer.Image.Height;
     m_IsMaskout                  = aILayer.IsMaskout;
     m_LegendSchemeE              = new LegendSchemeE();
     m_LegendSchemeE.LayerHandle  = aILayer.Handle;
     m_LegendSchemeE.LegendScheme = aILayer.LegendScheme;
     m_LegendSchemeE.LayersTV     = aLayersLegend;
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="aLayer"></param>
 /// <param name="aLayersTV"></param>
 public VectorLayerSet(VectorLayer aLayer, LayersLegend aLayersTV)
 {
     m_LayerName                  = aLayer.LayerName;
     m_FileName                   = aLayer.FileName;
     m_Handle                     = aLayer.Handle;
     m_Extent                     = aLayer.Extent;
     m_Visible                    = aLayer.Visible;
     m_LayerDrawType              = aLayer.LayerDrawType;
     m_LayerType                  = aLayer.LayerType;
     m_ShapeType                  = aLayer.ShapeType;
     m_AviodCollision             = aLayer.AvoidCollision;
     m_TransparencyPerc           = aLayer.TransparencyPerc;
     m_ShapeNum                   = aLayer.ShapeNum;
     m_LayersTV                   = aLayersTV;
     m_LegendSchemeE              = new LegendSchemeE();
     m_LegendSchemeE.LayerHandle  = aLayer.Handle;
     m_LegendSchemeE.LegendScheme = (LegendScheme)aLayer.LegendScheme.Clone();
     m_LegendSchemeE.LayersTV     = aLayersTV;
     m_IsMaskout                  = aLayer.IsMaskout;
 }
Example #4
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="aILayer"></param>
 /// <param name="aLayersLegend"></param>
 public ImageLayerSet(ImageLayer aILayer, LayersLegend aLayersLegend)
 {
     m_LayersLegend        = aLayersLegend;
     m_LayerName           = aILayer.LayerName;
     m_FileName            = aILayer.FileName;
     m_WorldFileName       = aILayer.WorldFileName;
     m_Handle              = aILayer.Handle;
     m_LayerType           = aILayer.LayerDrawType;
     m_Visible             = aILayer.Visible;
     m_WFP                 = aILayer.WorldFileParaV;
     m_XUL                 = aILayer.WorldFileParaV.XUL;
     m_YUL                 = aILayer.WorldFileParaV.YUL;
     m_XScale              = aILayer.WorldFileParaV.XScale;
     m_YScale              = aILayer.WorldFileParaV.YScale;
     m_Extent              = aILayer.Extent;
     m_Width               = m_Extent.maxX - m_Extent.minX;
     m_Height              = m_Extent.minY - m_Extent.maxY;
     m_XNum                = aILayer.Image.Width;
     m_YNum                = aILayer.Image.Height;
     m_IsMaskout           = aILayer.IsMaskout;
     _TransparencyPerc     = aILayer.TransparencyPerc;
     _SetTransparencyColor = aILayer.SetTransColor;
     _TransparencyColor    = aILayer.TransparencyColor;
 }
Example #5
0
 /// <summary>
 /// If the layer id is not duplicated create a new layer on the specified draw layer.
 /// If the layer id is duplicated throw a new EXCEPTION!
 /// </summary>
 /// <param name="layerDrawType">The draw type for this new layer to have.</param>
 /// <param name="layerId">The layer id for this layer to have.</param>
 /// <param name="index">The index in the layer list. This controls draw order 0 is draw first, n is draw last.</param>
 private void AddNewDrawLayer(LayerDrawType layerDrawType, string layerId, int index)
 {
     if (GetLayerById(layerId) == null)
     {
         switch (layerDrawType)
         {
             case LayerDrawType.BACKGROUND:
                 if (index > 0 && index < backgroundLayers.Count)
                 {
                     backgroundLayers.Insert(index, new LevelLayer(this, layerDrawType, layerId));
                 }
                 else
                 {
                     backgroundLayers.Add(new LevelLayer(this, layerDrawType, layerId));
                 }
                 break;
             case LayerDrawType.FOREGROUND:
                 if (index > 0 && index < foregroundLayers.Count)
                 {
                     foregroundLayers.Insert(index, new LevelLayer(this, layerDrawType, layerId));
                 }
                 else
                 {
                     foregroundLayers.Add(new LevelLayer(this, layerDrawType, layerId));
                 }
                 break;
         }
     }
     throw new Exception("Duplicate layer exception!");
 }
Example #6
0
 /// <summary>
 /// If the layer id is not duplicated create a new layer on the specified draw layer.
 /// If the layer id is duplicated throw a new EXCEPTION!
 /// </summary>
 /// <param name="layerDrawType">The draw type for this new layer to have.</param>
 /// <param name="layerId">The layer id for this layer to have.</param>
 private void AddNewDrawLayer(LayerDrawType layerDrawType, string layerId)
 {
     AddNewDrawLayer(layerDrawType, layerId, -1);
 }
Example #7
0
 /// <summary>
 ///Gets a list of tiles at the given cordinates across the layer type specified. 
 /// </summary>
 /// <param name="x">The x tile cordinate to get tiles at.</param>
 /// <param name="y">The y tile cordinate to get tiles at.</param>
 /// <param name="layerDrawType">Limits the tile search to the given layer type.</param>
 /// <returns>The list of tiles at the given cordinates.</returns>
 public List<Tile> GetTilesAtLocation(int x, int y, LayerDrawType layerDrawType)
 {
     List<Tile> tilesAtLocation = new List<Tile>();
     if (IsTileLocationInBounds(x, y))
     {
         switch (layerDrawType)
         {
             case LayerDrawType.BACKGROUND:
                 for (int b = 0; b < backgroundLayers.Count; b++)
                 {
                     if (backgroundLayers[b].GetTileAtLocation(x, y) != null)
                     {
                         tilesAtLocation.Add(backgroundLayers[b].GetTileAtLocation(x, y));
                     }
                 }
                 break;
             case LayerDrawType.FOREGROUND:
                 for (int f = 0; f < foregroundLayers.Count; f++)
                 {
                     if (foregroundLayers[f].GetTileAtLocation(x, y) != null)
                     {
                         tilesAtLocation.Add(foregroundLayers[f].GetTileAtLocation(x, y));
                     }
                 }
                 break;
         }
     }
     return tilesAtLocation;
 }