Example #1
0
        public VictoryScreen(Player player, EncounterDefinition encounterDefinition, Battle battle, IEnumerable<Turn> turns)
        {
            this.player = player;
            this.battle = battle;
            this.encounterDefinition = encounterDefinition;
            this.turns = turns;

            if (!player.CompletedEncounters.Contains(encounterDefinition.Name))
                player.CompletedEncounters.Add(encounterDefinition.Name);
        }
Example #2
0
        public EncounterScreen(Player player, EncounterDefinition encounterDefinition, Battle battle)
        {
            this.player = player;
            this.encounterDefinition = encounterDefinition;
            this.battle = battle;

            battle.Start();

            turns = new List<Turn>();

            abilityButtons = new List<Button>();
            //targettingStrategyButtons = new List<Button>();
            orderQueueButtons = new List<Button>();
            selectedActors = new List<Actor>();
        }
Example #3
0
        private void okButton_Click()
        {
            var count = memberListBox.CheckedItems.Count();
            for (int i = 0; i < count; i++)
            {
                var actor = memberListBox.CheckedItems.ElementAt(i);
                var a = Math.PI * 2.0 / (double)count;
                var x = (float)Math.Cos(i * a) * 3f;
                var y = (float)Math.Sin(i * a) * 3f;

                actor.Position = new Vector2(-10f, 0f) + new Vector2(x, y);
                actor.Direction = Vector2.Normalize(new Vector2(1, -1));
                actor.Destination = null;
                actor.IsAlive = true;
                actor.CurrentHealth = actor.MaximumHealth;
                actor.CurrentMana = actor.MaximumMana;
                actor.Orders.Clear();
                actor.ThreatList.Clear();
                actor.Targets.Clear();
                actor.CurrentOrder = null;
                actor.CastingProgress = null;
                actor.BaseAnimationState = BaseAnimationState.Idle;
                actor.PlayerControlled = true;

                foreach (var ability in actor.Abilities)
                {
                    ability.Cooldown.Reset();
                }
            }

            var battle = new Battle(encounterDefinition);

            battle.Actors.AddRange(memberListBox.CheckedItems.Take(encounterDefinition.HeroLimit));

            VictoryScreen.SaveActors(ScreenManager, player);

            ScreenManager.AddScreen(new EncounterScreen(player, encounterDefinition, battle));
            ScreenManager.RemoveScreen(this);
        }
Example #4
0
 public DefeatScreen(Player player, Battle battle)
 {
     this.player = player;
     this.battle = battle;
 }