Beispiel #1
0
        public override void Discard(SkillCard card)
        {
            switch (card.CardColor)
            {
            case SkillCardColor.Leadership:
                LeadershipDeck.Discard(card);
                break;

            case SkillCardColor.Engineering:
                EngineeringDeck.Discard(card);
                break;

            case SkillCardColor.Piloting:
                PilotingDeck.Discard(card);
                break;

            case SkillCardColor.Politics:
                PoliticsDeck.Discard(card);
                break;

            case SkillCardColor.Tactics:
                TacticsDeck.Discard(card);
                break;
            }
        }
Beispiel #2
0
 protected override void Reshuffle()
 {
     Deck = new List <SkillCard>();
     Deck.AddRange(LeadershipDeck.DrawMany(2));
     Deck.AddRange(TacticsDeck.DrawMany(2));
     Deck.AddRange(PilotingDeck.DrawMany(2));
     Deck.AddRange(EngineeringDeck.DrawMany(2));
     Deck.AddRange(PoliticsDeck.DrawMany(2));
     Deck = Shuffle(Deck);
 }
Beispiel #3
0
        void BootSystem()
        {
            var panels = new List <IMyTextPanel>();

            GridTerminalSystem.GetBlocksOfType(panels);

            var panelsPerDeck = new Dictionary <string, List <EntityAndMeta <IMyTextPanel> > >();

            foreach (var panel in panels)
            {
                Echo(panel.Font);
                var    panelAndMeta = new EntityAndMeta <IMyTextPanel>(panel);
                string deckName;
                var    deckResult = panelAndMeta.meta.TryGetValue("deck", out deckName);
                if (deckResult)
                {
                    List <EntityAndMeta <IMyTextPanel> > panelListOfDeck;
                    var listAlreadyExists = panelsPerDeck.TryGetValue(deckName, out panelListOfDeck);
                    if (listAlreadyExists)
                    {
                        panelListOfDeck.Add(panelAndMeta);
                    }
                    else
                    {
                        panelsPerDeck.Add(deckName, new List <EntityAndMeta <IMyTextPanel> >(new [] { panelAndMeta }));
                    }
                }
            }

            foreach (var deck in panelsPerDeck.Keys)
            {
                Echo(deck);
            }

            foreach (var deck in panelsPerDeck)
            {
                foreach (var panel in deck.Value)
                {
                    panel.entity.WriteText(deck.Key);
                }
            }

            eng = new EngineeringDeck(panelsPerDeck["eng"]);

            state = ProgramState.Booted;
        }