View Javadoc

1   /*
2    *   Magic-Project is a turn based strategy simulator
3    *   Copyright (C) 2003-2007 Fabrice Daugan
4    *
5    *   This program is free software; you can redistribute it and/or modify it 
6    * under the terms of the GNU General Public License as published by the Free 
7    * Software Foundation; either version 2 of the License, or (at your option) any
8    * later version.
9    *
10   *   This program is distributed in the hope that it will be useful, but WITHOUT 
11   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12   * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more 
13   * details.
14   *
15   *   You should have received a copy of the GNU General Public License along  
16   * with this program; if not, write to the Free Software Foundation, Inc., 
17   * 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18   */
19  package net.sf.magicproject.action.context;
20  
21  import net.sf.magicproject.clickable.targetable.card.MCard;
22  import net.sf.magicproject.clickable.targetable.player.Player;
23  import net.sf.magicproject.tools.Pair;
24  
25  /***
26   * @author <a href="mailto:fabdouglas@users.sourceforge.net">Fabrice Daugan </a>
27   * @since 0.86
28   */
29  public class MoveContext implements ActionContext {
30  
31  	/***
32  	 * Create a new context with a new boolean array
33  	 * 
34  	 * @param size
35  	 *          the array's size of this context.
36  	 */
37  	@SuppressWarnings("unchecked")
38  	public MoveContext(int size) {
39  		this.controllers = new Player[size];
40  		this.idZones = new int[size];
41  		this.tapPosition = new boolean[size];
42  		this.indexes = new Pair[size];
43  		this.attachedTo = new MCard[size];
44  	}
45  
46  	/***
47  	 * The previous controller.
48  	 */
49  	public final Player[] controllers;
50  
51  	/***
52  	 * The previous attachedTo.
53  	 */
54  	public final MCard[] attachedTo;
55  
56  	/***
57  	 * The previous zone.
58  	 */
59  	public final int[] idZones;
60  
61  	/***
62  	 * The previous 'tap' position.
63  	 */
64  	public final boolean[] tapPosition;
65  
66  	/***
67  	 * The indexes within the zone.
68  	 */
69  	public Pair<Integer,Integer>[] indexes;
70  }