Пример #1
0
    public override void opponentCast(ParametersQueue args)
    {
        spawnTarget = args.getField();
        spawnTarget.spawn(new Creature(name, this, spawnTarget, GameEngine.getActivePlayer()));
        droneTarget = args.getField();
        CreatureCard c = new ScoutingDrone();

        droneTarget.spawn(new Creature(c.name, c, droneTarget, GameEngine.getActivePlayer()));
    }
Пример #2
0
    public static void opponentRClick(ParametersQueue args)
    {
        Field from = args.getField();
        Field to   = args.getField();

        log("oppRClick from " + from.x + " " + from.y + " to " + to.x + " " + to.y);
        Creature invoker = (Creature)from.content;

        invoker.special(to);
    }
Пример #3
0
    public static void opponentCast(ParametersQueue args)
    {
        Card c = getCardById(args.getInt());

        log("Opponent casts " + c.name);
        if (c is CreatureCard)
        {
            GAME.addToHistory(c, CARD_OWN.ENEMY);
        }
        else
        {
            GAME.addToHistory(c, CARD_OWN.NEUTRAL);
        }
        GAME.uiManager.opponentHand--;
        GAME.opPlayer.mana -= c.manaCost;
        c.opponentCast(args);
    }
Пример #4
0
        public void Parse()
        {
            string[] parsedStringArray;
            string   errorMessage = "";

            //Счетчик всех считанных строк, нужен чтобы отображать, в какой строке текстового файла присутствует ошибка
            int sourceCounter = 0;

            StreamWriter sw = new StreamWriter(string.Format(@"errorlog_{0}.txt", DateTime.Now.ToString(@"dd-MM-yyyy_HH-mm.ss")), true);

            while (!tsvReader.EndOfData)
            {
                try
                {
                    parsedStringArray = tsvReader.ReadFields();
                }
                catch (Exception ex)
                {
                    string message1 = "В процессе чтения текстового файла возникла фатальная ошибка.{Environment.NewLine}Подробности:";
                    string message2 = "База данных создана неполностью.";
                    OnFatalError(this, new SQLiteCreationEventArgs(message1 + ex.Message + Environment.NewLine + message2));
                    return;
                }

                sourceCounter++;

                SQLiteParameter[] parameters = new SQLiteParameter[dvs.ParametersCount];
                //Проверяем данные в считанной строке, при наличии ошибок выводим их на консоль и пишем в лог ошибок
                if (!dvs.Verify(ColumnNameAndPosition, parsedStringArray, parameters, sourceCounter, ref errorMessage))
                {
                    OnError(this, new SQLiteCreationEventArgs(errorMessage));
                    sw.WriteLine(errorMessage);
                    continue;
                }

                //Если в строке нет ошибок, добавляем данные из нее к sql запросу
                ParametersQueue.Enqueue(parameters);
            }

            sw.Close();
        }
Пример #5
0
    public static void opponentLClick(ParametersQueue args)
    {
        Field           from    = args.getField();
        Field           to      = args.getField();
        Creature        invoker = (Creature)from.content;
        SpawnableObject target  = to.content;

        if (target == null)
        {
            generateMovePaths(from, invoker);
            List <Field> path   = new List <Field>();
            Field        parent = to;
            while (parent != from)
            {
                path.Add(parent);
                parent = GAME.movePaths[parent];
            }
            List <Field> invokedPath = new List <Field>();
            for (int i = path.Count - 1; i >= 0; i--)
            {
                bool interrupt = path[i].onMoveThrough(invoker);
                invokedPath.Add(path[i]);
                if (interrupt)
                {
                    to = path[i];
                    break;
                }
            }
            GAME.StartCoroutine(invoker.MovementAnimation(invokedPath, from.contentObject));
            invoker.move(to);
        }
        else
        {
            invoker.attack(target);
        }
    }
Пример #6
0
 public override void opponentCast(ParametersQueue args)
 {
     endCast();
 }
Пример #7
0
    void Update()
    {
        string msg = messageQueue.get();

        if (msg.Equals("EMPTY"))
        {
            return;
        }
        string[]   parts = msg.Split('#');
        string     type  = parts[0];
        List <int> args  = new List <int>();

        if (!type.Equals("msg"))
        {
            for (int i = 1; i < parts.Length; i++)
            {
                args.Add(int.Parse(parts[i]));
            }
        }
        ParametersQueue param = new ParametersQueue(args);

        if (type.Equals("startGame"))
        {
            GameEngine.startGame(args);
        }
        else if (type.Equals("drawCard"))
        {
            GameEngine.drawCard(args);
        }
        else if (type.Equals("startTurn"))
        {
            GameEngine.startTurn();
        }
        else if (type.Equals("startOpponentTurn"))
        {
            GameEngine.startOpponentTurn();
        }
        else if (type.Equals("cast"))
        {
            GameEngine.opponentCast(param);
        }
        else if (type.Equals("lclick"))
        {
            GameEngine.opponentLClick(param);
        }
        else if (type.Equals("rclick"))
        {
            GameEngine.opponentRClick(param);
        }
        else if (type.Equals("msg"))
        {
            GameEngine.log("Opponent says: " + msg.Substring(4));
        }
        else if (type.Equals("opponentDrawCard"))
        {
            GameEngine.opponentDrawCard();
        }
        else if (type.Equals("opponentLeft"))
        {
            GameEngine.endGame("Your opponent has left. You win the game!");
        }
        else if (type.Equals("loseGame"))
        {
            GameEngine.endGame("You lost the game");
        }
        else if (type.Equals("winGame"))
        {
            GameEngine.endGame("You won the game!");
        }
    }
Пример #8
0
 public override void opponentCast(ParametersQueue args)
 {
     spawnTarget = args.getField();
     spawnTarget.spawn(new Creature(name, this, spawnTarget, GameEngine.getActivePlayer()));
 }
Пример #9
0
 public virtual void opponentCast(ParametersQueue args)
 {
 }
Пример #10
0
 public override void opponentCast(ParametersQueue args)
 {
     target = args.getField();
     endCast();
 }