Crossfire JXClient, Trunk  R20561
SkillAddedSkinEvent.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2005-2008 Yann Chachkoff.
19  * Copyright (C) 2006-2011 Andreas Kirschbaum.
20  */
21 
22 package com.realtime.crossfire.jxclient.skin.events;
23 
27 import org.jetbrains.annotations.NotNull;
28 
34 public class SkillAddedSkinEvent implements SkinEvent {
35 
39  @NotNull
40  private final CommandList commandList;
41 
45  @NotNull
46  private final Skill skill;
47 
51  @NotNull
52  private final SkillListener skillListener = new SkillListener() {
53 
54  @Override
55  public void gainedSkill() {
56  commandList.execute();
57  }
58 
59  @Override
60  public void lostSkill() {
61  // ignore
62  }
63 
64  @Override
65  public void changedSkill() {
66  // ignore
67  }
68 
69  };
70 
76  public SkillAddedSkinEvent(@NotNull final CommandList commandList, @NotNull final Skill skill) {
77  this.commandList = commandList;
78  this.skill = skill;
79  skill.addSkillListener(skillListener);
80  }
81 
85  @Override
86  public void dispose() {
87  skill.removeSkillListener(skillListener);
88  }
89 
90 }
A SkinEvent that executes a CommandList whenever a new skill has been gained.
void addSkillListener(@NotNull final SkillListener listener)
Adds a listener to be notified of changes.
Definition: Skill.java:182
Interface for events attached to skins.
Definition: SkinEvent.java:28
void removeSkillListener(@NotNull final SkillListener listener)
Removes a listener to be notified of changes.
Definition: Skill.java:190
Interface for listeners on skill related changes.
final CommandList commandList
The CommandList to execute.
void dispose()
Will be called when the skin is disposed.Should release resources.
One skill of the character.
Definition: Skill.java:32
SkillAddedSkinEvent(@NotNull final CommandList commandList, @NotNull final Skill skill)
Creates a new instance.
final SkillListener skillListener
The SkillListener attached to skill.
void execute()
Execute the command list by calling GUICommand#execute() for each command in order.