/// <summary> /// [GET] The collision shape on the specified (set of) layer(s). /// </summary> /// <param name="layerMask"></param> /// <returns></returns> public TileCollisionShape this[TileCollisionLayer layerMask] { get { TileCollisionShape result = TileCollisionShape.Free; if ((layerMask & TileCollisionLayer.Layer0) != TileCollisionLayer.None) result |= this.Layer0; if ((layerMask & TileCollisionLayer.Layer1) != TileCollisionLayer.None) result |= this.Layer1; if ((layerMask & TileCollisionLayer.Layer2) != TileCollisionLayer.None) result |= this.Layer2; if ((layerMask & TileCollisionLayer.Layer3) != TileCollisionLayer.None) result |= this.Layer3; return result; } }
/// <summary> /// [GET] The collision shape on the specified (set of) layer(s). /// </summary> /// <param name="layerMask"></param> /// <returns></returns> public TileCollisionShape this[TileCollisionLayer layerMask] { get { TileCollisionShape result = TileCollisionShape.Free; if ((layerMask & TileCollisionLayer.Layer0) != TileCollisionLayer.None) { result |= this.Layer0; } if ((layerMask & TileCollisionLayer.Layer1) != TileCollisionLayer.None) { result |= this.Layer1; } if ((layerMask & TileCollisionLayer.Layer2) != TileCollisionLayer.None) { result |= this.Layer2; } if ((layerMask & TileCollisionLayer.Layer3) != TileCollisionLayer.None) { result |= this.Layer3; } return(result); } }
/// <summary> /// Creates a new Path finder for the specified stragic layer. /// Sets the step limit to 140 steps by default, which is only suitable for /// relatively short paths (depending on the grid size). /// </summary> /// <param name="layer">A strategic layer</param> /// <param name="collisionLayer">A collision layer</param> public TilePathFinder(TileLayer layer, TileCollisionLayer collisionLayer) : this(layer, collisionLayer, 140) { }
/// <summary> /// Creates a new Path finder for the specified stragic map. /// </summary> /// <param name="layer">A strategic layer</param> /// <param name="collisionLayer">A collision layer</param> /// <param name="stepLimit">Maximum number of steps to find a path</param> public TilePathFinder(TileLayer layer, TileCollisionLayer collisionLayer, int stepLimit) { mLayer = layer; mCollisionLayer = collisionLayer; mStepLimit = stepLimit; }