public SerpentUnit(Player owner) : base(owner) { this.RegisterModule(new MoveModule(5)); this.Module<AttackModule>().AttackRange = 1; this.Module<AttackModule>().Damage = 1; this.Module<HealthModule>().SetStartingHealth(3); }
public GoblinPikerUnit(Player owner) : base(owner) { this.RegisterModule(new MoveModule(5)); this.Module<AttackModule>().AttackRange = 1; this.Module<AttackModule>().Damage = 2; this.Module<HealthModule>().SetStartingHealth(1); }
public ZombieUnit(Player owner) : base(owner) { this.RegisterModule(new MoveModule(3)); this.Module<AttackModule>().AttackRange = 1; this.Module<AttackModule>().Damage = 2; this.Module<HealthModule>().SetStartingHealth(2); }
private void OnPlayerGainPriority(PlayerGainedPriorityEvent evt) { this.lastGainPrio = evt.Player; if (evt.Player != owner) return; CheckIfShouldSkip(); }
public PhaseSkipToController(GuiInformation guiinfo, Player owner) { // TODO: Complete member initialization this.guiinfo = guiinfo; this.owner = owner; owner.EventManager.Register(new Trigger<PlayersTurnChangedEvent>(evt => { currentPlayersTurn = evt.PlayersTurn; shouldSkipToPhase = false; })); owner.EventManager.Register(new Trigger<PhaseChangedEvent>(evt => { lastGainPrio = null; prioritiesHasBeenReset = false; curPhase = evt.NewPhase; })); owner.EventManager.Register(new Trigger<PlayerGainedPriorityEvent>(this.OnPlayerGainPriority)); owner.EventManager.Register(new Trigger<ResetPrioritiesEvent>(evt => prioritiesHasBeenReset = true)); }
public void GainLevel_HasNoRewardForLevel_NoRewardsGiven() { int[] xplevels = new int[] { 0, 100 }; LevelRewarder levelReward = new LevelRewarder(xplevels); Player player = new Player(null, null, null, levelReward); this.Engine.AddActor(player); this.Engine.Update(); player.AddXP(100); Assert.AreEqual(2, levelReward.CurrentLevel); }
public void GainLevel_ZeroXPRequriedForLevelUp_RewardGiven() { bool rewardGiven = false; int[] xplevels = new int[]{0}; LevelRewarder levelReward = new LevelRewarder(xplevels); Player player = new Player(null, null, null, levelReward); levelReward.SetReward(1,rw => rewardGiven = true); this.Engine.AddActor(player); this.Engine.Update(); Assert.IsTrue(rewardGiven); }
public void Initialize(Camera playerCam, float x, float y, float width, float height, EventManager evtman, Player player) { this.player = player; this.playerCam = playerCam; this.x = x; this.y = y; this.width = width; this.height = height; this.evtman = evtman; this.evtman.Register(new Trigger<CardDrawnEvent>(evt => evt.Player == player, OnCardDrawn)); this.evtman.Register(new Trigger<PlayerGainedPriorityEvent>(OnPlayerGainPriority)); this.evtman.Register(new Trigger<ActionCompletedEvent<CastCardCommand>>(OnCastCard)); }
public void GainLevel_HasAReward_RewardGiven() { bool rewardGiven = false; int[] xplevels = new int[] { 0, 100 }; LevelRewarder levelReward = new LevelRewarder(xplevels); Player player = new Player(null, null, null, levelReward); levelReward.SetReward(2, rw => rewardGiven = true); this.Engine.AddActor(player); this.Engine.Update(); player.AddXP(100); Assert.IsTrue(rewardGiven); }
public void GainLevel_GetsXpForMultipleLevels_RewardsForAllLevelsGiven() { bool FirstRewardGiven = false; bool SecondRewardGiven = false; int[] xplevels = new int[] { 0, 100, 200 }; LevelRewarder levelReward = new LevelRewarder(xplevels); Player player = new Player(null, null, null, levelReward); levelReward.SetReward(2, rw => FirstRewardGiven = true); levelReward.SetReward(3, rw => SecondRewardGiven = true); this.Engine.AddActor(player); this.Engine.Update(); player.AddXP(200); Assert.IsTrue(FirstRewardGiven); Assert.IsTrue(SecondRewardGiven); }
public void DrawACard_EmptyHandNonemptyLibrary_CardsInHand() { bool cardDrawnEventTriggered = false; GameLibrary lib = new GameLibrary(); SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>(); cards.AddFirst(new MockCardWithData(42)); lib.Add(cards); Hand h = new Hand(); Player p = new Player(lib, h,null,null); p.EventManager = this.EventManager; this.EventManager.Register(new Trigger<CardDrawnEvent>(_ => cardDrawnEventTriggered = true)); Engine.AddActor(p); p.Draw(1); GameCard c = p.Hand.TakeCards(1)[0]; Assert.IsTrue(cardDrawnEventTriggered); Assert.IsTrue(lib.IsEmpty()); Assert.IsTrue(((MockCardWithData)c).data == 42); }
public void Discard_CardInHand_CardOnBottomOfLibrary() { bool cardDiscardedEventTriggered = false; GameLibrary lib = new GameLibrary(); SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>(); for (int i = 0; i < 29; i++) cards.AddFirst(new MockCard()); lib.Add(cards); Hand h = new Hand(); cards = new SelectableLinkedList<GameCard>(); cards.AddFirst(new MockCardWithData(42)); h.Add(cards); Player p = new Player(lib, h, null,null); p.EventManager = this.EventManager; this.EventManager.Register(new Trigger<CardDiscardedEvent>(_ => cardDiscardedEventTriggered = true)); Engine.AddActor(lib); p.Discard(0); GameCard c = p.Library.TakeCardAt(29); Assert.IsTrue(cardDiscardedEventTriggered); Assert.IsTrue(((MockCardWithData)c).data == 42); }
public GruntUnit(Player owner) : base(owner) { this.RegisterModule(new MoveModule(5)); }
public PassPriorityCommand(Player player) { this.player = player; }
public WarlordHero(Player owner) : base(owner) { }
public void AddPlayer(Player player) { this.localPlayers.Add(player); }
private float ZPosFromPlayer(Player p) { ICollection<Spell> cards; if (!playersCardStack.TryGetValues(p, out cards)) return 0; return cards.Count*0.1f; }
public void SetSkipPhaseButton(Player p, GUITexture[] buttons) { this.skipPhaseButtons[p] = buttons.ToArray(); }
private void changeTurn(Player[] players) { for (int i = 0; i < (int)Phases.End; i++) { EventManager.Raise(new PlayerPassedPriorityEvent(players[0])); EventManager.Raise(new PlayerPassedPriorityEvent(players[1])); Engine.Update(); } }
private Player[] generatePlayersAndStartGame(int count) { List<Player> players = new List<Player>(); for (int i = 0; i < count; i++) { Player p = new Player(); this.ActionManager.Queue(new PlayerJoinAction(p)); players.Add(p); } this.ActionManager.Queue(new StartGameCommand()); this.Engine.Update(); return players.ToArray(); }
public void QueueSpell_PlayerCastCard_SpellFromCardQueuedToStack() { MockCard card = new MockCard(); Player castingPlayer = new Player(); this.ActionManager.Queue(new CastCardCommand(castingPlayer, card, mana)); this.Engine.Update(); IEnumerable<Ability> unresolved = AbilityManager.Unresolved; int expectedCount = 1; int actualCount = unresolved.Count(); Assert.AreEqual(expectedCount, actualCount); }
public GuiInformation GetGuiInfo(Player player) { return this.guiLookup[player].Value; }
void Start() { UnityEngine.Object.DontDestroyOnLoad(this); var p1lib = new GameLibrary(); Player p = new Player(p1lib,new Hand(), new ManaStorage(), new GameLevelRewards(Mana.Arcane)); var cards1 = CreatePlayer1Deck(); p1lib.Add(cards1); p1lib.Shuffle(); p.Name = "player 1"; this.mainPlayer = p; this.AddPlayer(p); var p2lib = new GameLibrary(); p = new Player(p2lib, new Hand(), new ManaStorage(), new GameLevelRewards(Mana.Fury)); var cards2 = CreatePlayer2Deck(); p2lib.Add(cards2); p2lib.Shuffle(); p.Name = "player 2"; this.AddPlayer(p); }
public GUITexture GetSkipPhaseButton(Player p, Phases phase) { return this.skipPhaseButtons[p][(int)phase]; }
private Player ConstructNAddPlayer() { Player p = new Player(null,null,null,null); p.Name = "some player"; EventManager.Raise(new PlayerJoinedEvent(p)); return p; }
public void SetPlayers(Player player, Player player2) { this.players[0] = player; this.players[1] = player2; }
private int XPosFromPlayer(Player p) { if (p == Settings.MainPlayer) return -SpellDistanceFromCenter; else return SpellDistanceFromCenter; }
public void OnTurnChanged(PlayersTurnChangedEvent evt) { currentTurnOwner = evt.PlayersTurn; }
private GameLibrary ConstructLibrary() { GameLibrary lib = new GameLibrary(); Hand h = new Hand(); Player p = new Player(lib, h, null,null); Engine.AddActor(lib); return lib; }
private int YPosFromPlayer(Player p) { ICollection<Spell> cards; if (!playersCardStack.TryGetValues(p, out cards)) return YOffSet; return -cards.Count + YOffSet; }