net.sf.magicproject.event
Class DeclaredBlocking

java.lang.Object
  extended by net.sf.magicproject.event.MEventListener
      extended by net.sf.magicproject.event.TriggeredEvent
          extended by net.sf.magicproject.event.DeclaredBlocking
All Implemented Interfaces:
RegisterableEvent

public class DeclaredBlocking
extends TriggeredEvent

Since:
0.54
Author:
Fabrice Daugan

Field Summary
static Event EVENT
          The event type.
 
Fields inherited from class net.sf.magicproject.event.TriggeredEvent
replacement
 
Fields inherited from class net.sf.magicproject.event.MEventListener
CAN_I_CAST_ABILITIES, card, REPLACEMENT_ABILITIES, test, TRIGGRED_ABILITIES
 
Constructor Summary
DeclaredBlocking(java.io.InputStream inputFile, MCard card)
          Create an instance of DeclaredBlocking by reading a file Offset's file must pointing on the first byte of this event
Structure of InputStream : Data[size] idZone [1] test to apply on blocking creature [...]
 
Method Summary
 MEventListener clone(MCard card)
          Return a copy of this with the specified owner
static void dispatchEvent(MCard blockingCreature, MCard blockedCreature)
          Dispatch this event to all active event listeners able to understand this event.
 Event getIdEvent()
          Return the idEvent of this event
 boolean isMatching(Ability ability, MCard blockingCreature, MCard blockedCreature)
          Tell if the current event matches with this event.
static boolean tryAction(MCard blockingCreature, MCard blockedCreature)
          Dispatch this event to replacement abilites only.
 
Methods inherited from class net.sf.magicproject.event.TriggeredEvent
isActivated, isTriggered, registerToManager, removeFromManager, toHtmlString
 
Methods inherited from class net.sf.magicproject.event.MEventListener
appendOr, getIdPlace, isWellPlaced, isWellPlaced, reCheck, reCheck, reset
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EVENT

public static final Event EVENT
The event type.

Constructor Detail

DeclaredBlocking

public DeclaredBlocking(java.io.InputStream inputFile,
                        MCard card)
                 throws java.io.IOException
Create an instance of DeclaredBlocking by reading a file Offset's file must pointing on the first byte of this event

Parameters:
inputFile - is the file containing this event
card - is the card owning this event
Throws:
java.io.IOException - if error occurred during the reading process from the specified input stream
Method Detail

clone

public MEventListener clone(MCard card)
Description copied from class: MEventListener
Return a copy of this with the specified owner

Specified by:
clone in class TriggeredEvent
Parameters:
card - is the card of the ability of this event
Returns:
copy of this event

isMatching

public boolean isMatching(Ability ability,
                          MCard blockingCreature,
                          MCard blockedCreature)
Tell if the current event matches with this event. If there is an additional code to check, it'would be checked if the main event matches with the main event

Parameters:
ability - is the ability owning this test. The card component of this ability should correspond to the card owning this test too.
blockingCreature - the blocking creature
blockedCreature - the blocked attacking creature
Returns:
true if the current event match with this event

dispatchEvent

public static void dispatchEvent(MCard blockingCreature,
                                 MCard blockedCreature)
Dispatch this event to all active event listeners able to understand this event. The listening events able to understand this event are this and other multiple event listeners. For each event listeners having responded they have been activated, the corresponding ability is added to the triggered buffer zone of player owning this ability

Parameters:
blockingCreature - the blocking creature
blockedCreature - the blocked attacking creature
See Also:
isMatching(Ability, MCard, MCard)

tryAction

public static boolean tryAction(MCard blockingCreature,
                                MCard blockedCreature)
Dispatch this event to replacement abilites only. If one or several abilities have been activated this way, this function will return false. The return value must be checked. In case of false value, the caller should not call any stack resolution since activated abilities are being played.

Parameters:
blockingCreature - the blocking creature
blockedCreature - the blocked attacking creature
Returns:
true if and only if no replacement abilities have been activated
See Also:
isMatching(Ability, MCard, MCard)

getIdEvent

public final Event getIdEvent()
Description copied from class: MEventListener
Return the idEvent of this event

Specified by:
getIdEvent in class TriggeredEvent
Returns:
the idEvent of this event


Copyright © 2003-2007 Magic-Project. All Rights Reserved.