00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 package com.realtime.crossfire.jxclient.gui.map;
00023
00024 import com.realtime.crossfire.jxclient.map.CfMapSquare;
00025 import java.awt.Color;
00026 import org.jetbrains.annotations.NotNull;
00027
00032 public class DarknessColors {
00033
00038 private static final float MAX_DARKNESS_ALPHA = 0.7F;
00039
00043 @NotNull
00044 public static final Color FOG_OF_WAR_COLOR = new Color(0, 0, 0.5F, 0.5F);
00045
00050 @NotNull
00051 private static final Color[] DARKNESS_COLORS = new Color[256];
00052
00056 private DarknessColors() {
00057 }
00058
00064 @NotNull
00065 public static Color getDarknessColor(final int darkness) {
00066 synchronized (DARKNESS_COLORS) {
00067 if (DARKNESS_COLORS[darkness] == null) {
00068 final float alpha = MAX_DARKNESS_ALPHA*(CfMapSquare.DARKNESS_FULL_BRIGHT-darkness)/(float)CfMapSquare.DARKNESS_FULL_BRIGHT;
00069 DARKNESS_COLORS[darkness] = new Color(0, 0, 0, alpha);
00070 }
00071
00072 return DARKNESS_COLORS[darkness];
00073 }
00074 }
00075
00076 }