/**
* Colloid project
*
* Combat log analyzer.
*
* copyright: (c) 2013 by Darek <netmik12 [AT] gmail [DOT] com>
* license: BSD, see LICENSE for more details
*/
package colloid.model.event;
import javafx.collections.ObservableList;
import javafx.collections.ObservableMap;
import javafx.collections.ObservableSet;
import colloid.model.event.DoesNotExist;
import colloid.model.event.RecountLoop.InterruptLoopException;
public interface Combat {
public Combat add(Actor actor, Target target, Effect effect);
public Combat compile();
public interface Recount {
public void onStart();
public void onUpdate();
public void onStop();
public void init();
public void onUpdate(EventHandler<CombatEvent> handler);
}
public interface RegisterHandler {
public void setOnHeal(EventHandler<Combat.Event> handler);
public void setOnDamage(EventHandler<Combat.Event> handler);
public void setOnCombatEnter(EventHandler<CombatEnterEvent> handler);
public void setOnCombatExit(EventHandler<CombatExitEvent> handler);
}
public interface ObservableListString {
public ObservableList<String> getList();
public ObservableSet<String> getSet();
public ObservableMap<String, String> getMap();
}
public interface Entity {
public void compile() throws DoesNotExist;
}
public interface Character extends Entity {
public boolean isPlayer();
public String getName();
public void setOnHeal(EventHandler<Combat.Event> handler);
public void setOnDamage(EventHandler<Combat.Event> handler);
public void setOnCombatEnter(EventHandler<CombatEnterEvent> handler);
public void setOnCombatExit(EventHandler<CombatExitEvent> handler);
}
public interface Actor extends Character {
}
public interface Target extends Character {
}
public interface Ability extends Entity {
public String name();
public void setOnHeal(EventHandler<CombatHealEvent> handler);
public void setOnDamage(EventHandler<CombatDamageEvent> handler);
public void setOnCombatEnter(EventHandler<CombatEnterEvent> handler);
public void setOnCombatExit(EventHandler<CombatExitEvent> handler);
}
public interface Effect extends Entity {
public void setOnHeal(EventHandler<CombatHealEvent> handler);
public void setOnDamage(EventHandler<CombatDamageEvent> handler);
public void setOnCombatEnter(EventHandler<CombatEnterEvent> handler);
public void setOnCombatExit(EventHandler<CombatExitEvent> handler);
public interface Heal {
}
public interface Hit {
}
}
public interface Event {
public void add(Actor actor, Target target, Effect effect);
public void add(Actor actor, Effect effect);
public double getValue();
public void setFight(Fight current);
public Fight getFight();
}
public interface EventHandler<E> {
public void handle(E event);
}
}