Class CfMapSquare


  • public class CfMapSquare
    extends java.lang.Object
    Represents a square in a CfMap. A square comprises of Map2.NUM_LAYERS faces as well as a darkness value.

    This class assumes that the "head" part of a face is the part the server did sent. This is the bottom-right part for multi-square objects. Not that this definition is inconsistent to what the server assumes as the head part of an object.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int DARKNESS_FULL_BRIGHT
      The darkness value for a full bright square.
      static int DEFAULT_COLOR
      The default magic map color for newly created squares.
      static int DEFAULT_DARKNESS
      The default darkness value for newly created squares.
      static @Nullable Face DEFAULT_FACE
      The default face value for newly creates squares.
      static int DEFAULT_SMOOTH
      The default smooth value for newly created squares.
    • Constructor Summary

      Constructors 
      Constructor Description
      CfMapSquare​(@NotNull CfMap map, int x, int y)
      Creates a new (empty) square.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Marks this square as 'fog-og-war'.
      void dirty()
      Marks this square as dirty, i.e., needing redraw.
      int getColor()
      Returns the magic map color of this square.
      int getDarkness()
      Returns the darkness value of this square.
      @Nullable Face getFace​(int layer)
      Returns the face of a layer.
      @Nullable CfMapSquare getHeadMapSquare​(int layer)
      Returns the map square of the head of a multi-square object.
      int getSmooth​(int layer)
      Returns the smooth value of this square.
      int getX()
      Returns the absolute map x-coordinate of this square.
      int getY()
      Returns the absolute map y-coordinate of this square.
      boolean isFogOfWar()
      Determines if the square is not up-to-date.
      boolean resetFogOfWar()
      Returns and resets the "fog-of-war" flag.
      void setColor​(int color)
      Sets the magic map color of this square.
      boolean setDarkness​(int darkness)
      Sets the darkness value of this square.
      void setFace​(int layer, @Nullable Face face)
      Sets the face of a layer.
      void setHeadMapSquare​(int layer, @Nullable CfMapSquare mapSquare, boolean setAlways)
      Sets the map square containing the head face for a layer.
      int setSmooth​(int layer, int smooth)
      Sets the smooth value of this square.
      @NotNull java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • DEFAULT_DARKNESS

        public static final int DEFAULT_DARKNESS
        The default darkness value for newly created squares.
        See Also:
        Constant Field Values
      • DEFAULT_SMOOTH

        public static final int DEFAULT_SMOOTH
        The default smooth value for newly created squares.
        See Also:
        Constant Field Values
      • DEFAULT_COLOR

        public static final int DEFAULT_COLOR
        The default magic map color for newly created squares.
        See Also:
        Constant Field Values
      • DARKNESS_FULL_BRIGHT

        public static final int DARKNESS_FULL_BRIGHT
        The darkness value for a full bright square.
        See Also:
        Constant Field Values
      • DEFAULT_FACE

        @Nullable
        public static final @Nullable Face DEFAULT_FACE
        The default face value for newly creates squares.
    • Constructor Detail

      • CfMapSquare

        public CfMapSquare​(@NotNull
                           @NotNull CfMap map,
                           int x,
                           int y)
        Creates a new (empty) square.
        Parameters:
        map - the map this map square is part of
        x - the absolute map x-coordinate of the top left corner of this patch
        y - the absolute map y-coordinate of the top left corner of this patch
    • Method Detail

      • getX

        public int getX()
        Returns the absolute map x-coordinate of this square.
        Returns:
        the x-coordinate
      • getY

        public int getY()
        Returns the absolute map y-coordinate of this square.
        Returns:
        the y-coordinate
      • dirty

        public void dirty()
        Marks this square as dirty, i.e., needing redraw.
      • clear

        public void clear()
        Marks this square as 'fog-og-war'. The values will be still returned until a new value will be set.
      • setDarkness

        public boolean setDarkness​(int darkness)
        Sets the darkness value of this square.
        Parameters:
        darkness - the new darkness value between 0 and 255; 0=dark, 255=full bright
        Returns:
        whether fog-of-war has been cleared
      • getDarkness

        public int getDarkness()
        Returns the darkness value of this square.
        Returns:
        the darkness value of the square; 0=dark, 255=full bright
      • setSmooth

        public int setSmooth​(int layer,
                             int smooth)
        Sets the smooth value of this square.
        Parameters:
        layer - the layer between 0 and LAYERS-1
        smooth - the new smooth value
        Returns:
        whether fog-of-war has been cleared (1) or whether the smooth value has changed (2)
      • getSmooth

        public int getSmooth​(int layer)
        Returns the smooth value of this square.
        Parameters:
        layer - the layer between 0 and LAYERS-1
        Returns:
        the smooth value of the square
      • setColor

        public void setColor​(int color)
        Sets the magic map color of this square.
        Parameters:
        color - the new color
      • getColor

        public int getColor()
        Returns the magic map color of this square.
        Returns:
        the color
      • setFace

        public void setFace​(int layer,
                            @Nullable
                            @Nullable Face face)
        Sets the face of a layer.
        Parameters:
        layer - the layer for the new face between 0 and LAYERS-1
        face - the face to set
      • getFace

        @Nullable
        public @Nullable Face getFace​(int layer)
        Returns the face of a layer.
        Parameters:
        layer - the layer to return the face
        Returns:
        the face value
      • setHeadMapSquare

        public void setHeadMapSquare​(int layer,
                                     @Nullable
                                     @Nullable CfMapSquare mapSquare,
                                     boolean setAlways)
        Sets the map square containing the head face for a layer.
        Parameters:
        layer - the layer for the new head face between 0 and LAYERS-1
        mapSquare - the map square containing the head face; may be null
        setAlways - if set, always update the face; if unset, only update when fog-of-war
      • getHeadMapSquare

        @Nullable
        public @Nullable CfMapSquare getHeadMapSquare​(int layer)
        Returns the map square of the head of a multi-square object.
        Parameters:
        layer - the layer to return the head for
        Returns:
        the head map square, or null if this square does not contain a multi-tail
      • isFogOfWar

        public boolean isFogOfWar()
        Determines if the square is not up-to-date.
        Returns:
        whether this square contains fog-of-war data
      • resetFogOfWar

        public boolean resetFogOfWar()
        Returns and resets the "fog-of-war" flag.
        Returns:
        whether this square's fog-of-war state has been reset
      • toString

        @NotNull
        public @NotNull java.lang.String toString()
        Overrides:
        toString in class java.lang.Object