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.animations;
00023
00024 import com.realtime.crossfire.jxclient.guistate.ClientSocketState;
00025 import com.realtime.crossfire.jxclient.guistate.GuiStateListener;
00026 import com.realtime.crossfire.jxclient.guistate.GuiStateManager;
00027 import java.util.HashMap;
00028 import java.util.Map;
00029 import org.jetbrains.annotations.NotNull;
00030 import org.jetbrains.annotations.Nullable;
00031
00037 public class Animations {
00038
00042 @NotNull
00043 private final Map<Integer, Animation> animations = new HashMap<Integer, Animation>();
00044
00049 @NotNull
00050 private final GuiStateListener guiStateListener = new GuiStateListener() {
00051
00052 @Override
00053 public void start() {
00054
00055 }
00056
00057 @Override
00058 public void metaserver() {
00059
00060 }
00061
00062 @Override
00063 public void preConnecting(@NotNull final String serverInfo) {
00064
00065 }
00066
00067 @Override
00068 public void connecting(@NotNull final String serverInfo) {
00069 animations.clear();
00070 }
00071
00072 @Override
00073 public void connecting(@NotNull final ClientSocketState clientSocketState) {
00074
00075 }
00076
00077 @Override
00078 public void connected() {
00079
00080 }
00081
00082 @Override
00083 public void connectFailed(@NotNull final String reason) {
00084
00085 }
00086
00087 };
00088
00094 public Animations(@Nullable final GuiStateManager guiStateManager) {
00095 if (guiStateManager != null) {
00096 guiStateManager.addGuiStateListener(guiStateListener);
00097 }
00098 }
00099
00106 public void addAnimation(final int animationId, final int flags, @NotNull final int[] faces) {
00107 if (faces.length == 1) {
00108 System.err.println("Warning: animation id "+animationId+" has only one face");
00109 }
00110
00111 final Animation animation = new Animation(animationId, flags, faces);
00112 if (animations.put(animationId, animation) != null) {
00113 System.err.println("Warning: duplicate animation id "+animationId);
00114 }
00115 }
00116
00123 @Nullable
00124 public Animation get(final int animationId) {
00125 return animations.get(animationId);
00126 }
00127
00128 }