/// <summary> /// Constructor /// Load from data /// </summary> /// <param name="board"></param> /// <param name="rect"></param> public MirrorFieldData(Board board, XNA.Rectangle rect, Vector2 offset, ReflectionDrawableBoundary reflectionInfo, MirrorFieldDataType mirrorFieldDataType) : base(board, rect) { this.reflectionInfo = reflectionInfo; this.mirrorFieldDataType = mirrorFieldDataType; this.offset = offset; }
/*public override string ToString() * { * return "X: " + x.val.ToString() + ", Y: " + y.val.ToString(); * }*/ #endregion #region Serialization /// <summary> /// Constructor /// Load from serialized form /// </summary> /// <param name="board"></param> /// <param name="json"></param> public MirrorFieldData(Board board, SerializationForm json) : base(board, json) { mirrorFieldDataType = json.mirrorFieldDataType; offset = json.offset; reflectionInfo = new ReflectionDrawableBoundary( json.reflectionInfo.Gradient, json.reflectionInfo.Alpha, json.reflectionInfo.ObjectForOverlay, json.reflectionInfo.Reflection, json.reflectionInfo.AlphaTest); }
public MirrorFieldData CheckObjectWithinMirrorFieldDataBoundary(int x, int y, MirrorFieldDataType filter_objectForOverlay) { if (MirrorFieldDatas.Count == 0) { return(null); } Microsoft.Xna.Framework.Point pos = new Microsoft.Xna.Framework.Point(x, y - 60); MirrorFieldData reflectionBoundaryWithin = MirrorFieldDatas.FirstOrDefault( mirror => { return(mirror.Rectangle.Contains(pos) && mirror.MirrorFieldDataType == filter_objectForOverlay); }); if (reflectionBoundaryWithin != null) { return(reflectionBoundaryWithin); } return(null); }