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.item;
00023
00024 import com.realtime.crossfire.jxclient.faces.FacesManager;
00025 import com.realtime.crossfire.jxclient.gui.gui.GUIElement;
00026 import com.realtime.crossfire.jxclient.gui.gui.GUIElementListener;
00027 import com.realtime.crossfire.jxclient.gui.gui.TooltipManager;
00028 import com.realtime.crossfire.jxclient.items.FloorView;
00029 import com.realtime.crossfire.jxclient.items.ItemSet;
00030 import com.realtime.crossfire.jxclient.queue.CommandQueue;
00031 import com.realtime.crossfire.jxclient.server.crossfire.CrossfireServerConnection;
00032 import java.awt.Image;
00033 import org.jetbrains.annotations.NotNull;
00034
00039 public class GUIItemFloorFactory implements GUIItemItemFactory {
00040
00044 @NotNull
00045 private final TooltipManager tooltipManager;
00046
00050 @NotNull
00051 private final GUIElementListener elementListener;
00052
00056 @NotNull
00057 private final CommandQueue commandQueue;
00058
00062 @NotNull
00063 private final String name;
00064
00068 @NotNull
00069 private final ItemPainter itemPainter;
00070
00074 @NotNull
00075 private final CrossfireServerConnection crossfireServerConnection;
00076
00080 @NotNull
00081 private final FacesManager facesManager;
00082
00086 @NotNull
00087 private final FloorView floorView;
00088
00092 @NotNull
00093 private final ItemSet itemSet;
00094
00098 @NotNull
00099 private final Image nextGroupFace;
00100
00104 @NotNull
00105 private final Image prevGroupFace;
00106
00121 public GUIItemFloorFactory(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final CommandQueue commandQueue, @NotNull final String name, @NotNull final ItemPainter itemPainter, @NotNull final CrossfireServerConnection crossfireServerConnection, @NotNull final FacesManager facesManager, @NotNull final FloorView floorView, @NotNull final ItemSet itemSet, @NotNull final Image nextGroupFace, @NotNull final Image prevGroupFace) {
00122 this.tooltipManager = tooltipManager;
00123 this.elementListener = elementListener;
00124 this.commandQueue = commandQueue;
00125 this.name = name;
00126 this.itemPainter = itemPainter;
00127 this.crossfireServerConnection = crossfireServerConnection;
00128 this.facesManager = facesManager;
00129 this.floorView = floorView;
00130 this.itemSet = itemSet;
00131 this.nextGroupFace = nextGroupFace;
00132 this.prevGroupFace = prevGroupFace;
00133 }
00134
00138 @Override
00139 @NotNull
00140 public GUIElement newItem(final int index) {
00141 return new GUIItemFloor(tooltipManager, elementListener, commandQueue, name+index, itemPainter, index, crossfireServerConnection, floorView, itemSet, facesManager, nextGroupFace, prevGroupFace);
00142 }
00143
00147 @Override
00148 @NotNull
00149 public GUIItemItem newTemplateItem(final int cellHeight) {
00150 final GUIItemItem result = new GUIItemFloor(tooltipManager, elementListener, commandQueue, name+"_template", itemPainter, -1, crossfireServerConnection, floorView, itemSet, facesManager, nextGroupFace, prevGroupFace);
00151
00152 result.setSize(cellHeight, cellHeight);
00153 return result;
00154 }
00155
00156 }