コード例 #1
0
        //Kártya húzás: Modellből adatok lekérése és továbbítása a megfelelő játékos oldalnak.
        private void DrawTheCard(int key, DrawTarget target, DrawType drawType, SkillState newState)
        {
            Card cardData = null;

            if (target == DrawTarget.Hand && !controller.GetBlindMatchState())
            {
                cardData = modules.GetDataModule().GetPlayerWithKey(key).DrawCardFromDeck();
            }

            else if (controller.GetBlindMatchState() || target == DrawTarget.Field)
            {
                cardData = modules.GetDataModule().GetPlayerWithKey(key).BlindDraw();
            }

            //Ha a felhúzás sikeres
            if (cardData != null)
            {
                modules.GetClientModule().DrawNewCard(cardData, key, modules.GetDataModule().GetPlayerWithKey(key).GetPlayerStatus(), drawType, target, newState);

                //Ha a játékosról van szó továbbítjuk megjelenítésre a deck új méretét
                if (modules.GetDataModule().GetPlayerWithKey(key).GetPlayerStatus())
                {
                    int remainingDeckSize = modules.GetDataModule().GetPlayerWithKey(key).GetDeckSize();
                    modules.GetClientModule().RefreshDeckSize(key, remainingDeckSize);
                }
            }
        }
コード例 #2
0
 //Képesség passzolása
 public void Pass()
 {
     StartCoroutine(modules.GetClientModule().DisplayNotification(modules.GetDataModule().GetPlayerWithKey(currentKey).GetUsername() + " passzolta a képességet!"));
     StartCoroutine(WaitForText());
     SkillFinished();
     //modules.GetDataModule().GetPlayerWithKey(currentKey).SetStatus(PlayerTurnStatus.Finished);
 }
コード例 #3
0
        //Dönt az új statról
        public void DecideNewStat(int key)
        {
            GetCurrentContext(key);

            //AI agy segítségét hívjuk a döntésben
            CardStatType newStat = Bot_Behaviour.ChangeFightType(cardsOnField,
                                                                 opponentCards, currentStat);

            modules.GetGameModule().SetActiveStat(newStat);

            //Jelenítsük meg a változást
            modules.GetClientModule().RefreshStatDisplay();
        }
コード例 #4
0
        //Az input alapján módosítjuk az aktív értéktípust az újra
        public void ReportStatChange(CardStatType newStat)
        {
            //Választott érték beállítása
            modules.GetGameModule().SetActiveStat(newStat);

            //Jelenítsük meg a változást
            modules.GetClientModule().RefreshStatDisplay();

            //Ha stat választás fázisban vagyunk: Következő fázis jön
            if (modules.GetGameModule().GetGameState() == MainGameStates.SetStat)
            {
                //Kitörés a wait fázisból
                modules.GetGameModule().TurnFinished();
            }

            //Ellenkező esetben skill okozta a változtatást, jelezzük hogy a skillnek vége
            else
            {
                modules.GetGameModule().ActionFinished();
            }
        }
コード例 #5
0
        //Használhatod egy másik játékos vesztes krokjának képességét
        private void SoulStealing()
        {
            //Vannak-e ellenséges vesztes kártyák, amik közül választhatunk
            if (modules.GetGameModule().IsThereOtherLostCards())
            {
                modules.GetGameModule().SetSelectionAction(SkillEffectAction.SkillUse);
                modules.GetGameModule().SetSwitchType(CardListTarget.Hand);

                //Ha bot, akkor kell egy kis rásegítés neki
                if (!modules.GetGameModule().IsTheActivePlayerHuman())
                {
                    MakePlayerChooseCard();
                }

                //Ha játékos, akkor jelezzünk neki, hogy válasszon játékost
                else
                {
                    modules.GetGameModule().StartCoroutine(modules.GetClientModule().DisplayNotification("Válassz egy játékos vesztesei közül!"));
                }
            }

            //Ha nincs még vesztes kártya, akkor passzolunk
            else
            {
                if (modules.GetGameModule().IsTheActivePlayerHuman())
                {
                    modules.GetGameModule().StartCoroutine(modules.GetClientModule().DisplayNotification("Nincsenek vesztes lapok!"));
                }
                modules.GetGameModule().Pass();
            }
        }