Exemplo n.º 1
0
 /// <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;
 }
Exemplo n.º 2
0
        /*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);
        }