Exemple #1
0
        public void ConvertNearStonesInDiamonds()
        {
            if (Inventory.StoneInDiamondsConverterQuantity == 0)
            {
                return;
            }
            _playSound(SoundFilesEnum.ConverterSound);
            SetAnimation(PlayerAnimationsEnum.Converting);
            Inventory.StoneInDiamondsConverterQuantity--;
            var level = GetLevel();

            for (var x = -1; x < 2; x++)
            {
                for (var y = -1; y < 2; y++)
                {
                    if (x == 0 || y == 0)
                    {
                        var posX = x + PositionX;
                        var posY = y + PositionY;
                        if (IsLevelCellValid(posX, posY, level.Width, level.Height) &&
                            level[posX, posY].EntityEnumType == GameEntitiesEnum.Rock)
                        {
                            var tmp = new StoneInDiamondConverter(posX, posY, GetLevel, _playSound);
                            level[posX, posY] = tmp;
                        }
                    }
                }
            }
            Energy /= 2;
        }
        private void UseConverter()
        {
            _playSound(SoundFilesEnum.ConverterSound);

            Energy -= UseConverterCost;
            var level = GetLevel();

            for (var x = -1; x < 2; x++)
            {
                for (var y = -1; y < 2; y++)
                {
                    if (x == 0 || y == 0)
                    {
                        var posX            = x + PositionX;
                        var posY            = y + PositionY;
                        var cantBeConverter = !IsLevelCellValid(posX, posY, level.Width, level.Height) ||
                                              level[posX, posY].EntityEnumType != GameEntitiesEnum.Rock;
                        if (cantBeConverter)
                        {
                            continue;
                        }
                        var tmp = new StoneInDiamondConverter(posX, posY, GetLevel, _playSound);
                        level[posX, posY] = tmp;
                    }
                }
            }
            Log("Bot decided to use converter");
        }