コード例 #1
0
ファイル: MainLayer.cs プロジェクト: LckDck/TestGame
        bool MoveGem(GemSprite gem)
        {
            if (gem == null)
            {
                return(false);
            }
            var col = gem.Col;
            var row = gem.Row;

            // Check if gem place corresponds its cell place
            // if not - it should move
            if (gem.Cell.Col != gem.Col || gem.Cell.Row != gem.Row)
            {
                var newPlace = places[gem.Cell.Col, gem.Cell.Row];
                var target   = new CCPoint(newPlace.PositionX, newPlace.PositionY);

                gem.Col = gem.Cell.Col;
                gem.Row = gem.Cell.Row;

                var moveAction = new CCMoveTo(CellAnimationDuration, target);
                var ease       = new CCEaseIn(moveAction, 4);

                gem.AddAction(ease);
                return(true);
            }
            return(false);
        }
コード例 #2
0
        private void Spawn()
        {
            #region Stones
            //  Amount of stones spawned, ServicesHelper.RandomGeneratorom number betwenn 2 and 5
            int stones    = ServicesHelper.RandomGenerator.Next(2, 6);
            int stoneType = 0;
            for (int i = 0; i < stones; i++)
            {
                Sprite stone;

                //  One chance on 8 of being a diamond
                stoneType = ServicesHelper.RandomGenerator.Next(1, 9);

                //  Random speed
                Vector2 stoneSpeed, stonePosition;
                if (stoneType == 1)
                {
                    //  Is a diamond
                    stonePosition = new Vector2(ServicesHelper.RandomGenerator.Next(0, Game.Window.ClientBounds.Width + 1 - diamond.Width), 0);
                    stoneSpeed    = new Vector2(0, ServicesHelper.RandomGenerator.Next(3, 9));
                    stone         = new DiamondSprite(diamond, stonePosition, stoneSpeed);
                }
                else
                {
                    //  Is a gem
                    stonePosition = new Vector2(ServicesHelper.RandomGenerator.Next(0, Game.Window.ClientBounds.Width + 1 - (gem.Width / 5)), 0);
                    stoneSpeed    = new Vector2(0, ServicesHelper.RandomGenerator.Next(1, 6));
                    stone         = new GemSprite(gem, 1, 5, stonePosition, stoneSpeed);
                }

                //  Add newly created stone to the list
                preciousStones.Add(stone);
            }
            #endregion
            #region Enemies
            //  Amount of enemies spawned, ServicesHelper.RandomGeneratorom number between 0 and 7
            int numberOfEnemies = ServicesHelper.RandomGenerator.Next(0, 8);

            for (int i = 0; i < numberOfEnemies; i++)
            {
                //  Random number for the texture of the enemy to spawn
                int textureIndex = ServicesHelper.RandomGenerator.Next(0, texEnnemies.Count);

                //  Random position
                Vector2 enemyPosition = new Vector2(ServicesHelper.RandomGenerator.Next(0, Game.Window.ClientBounds.Width - (int)(texEnnemies[textureIndex].Width * ENEMY_SCALE)), 0);

                //  Random speed
                Vector2      enemySpeed = new Vector2(0, ServicesHelper.RandomGenerator.Next(2, 8));
                EnnemiSprite enemy      = new EnnemiSprite(texEnnemies[textureIndex], 1, 1, enemyPosition, enemySpeed, 1, 35, ENEMY_SCALE);
                enemies.Add(enemy);
            }
            #endregion
        }
コード例 #3
0
        public override void SetGemType(GemType type)
        {
            if (spriteRenderer == null)
            {
                Debug.LogError("SpriteRenderer of " + gameObject.name + " is null");
            }
            GemSprite gemSprite = gemSprites.FirstOrDefault(g => g.type == type);

            if (gemSprite == null)
            {
                Debug.LogError("Failed to find sprite of type " + type);
                return;
            }
            spriteRenderer.sprite = gemSprite.sprite;
        }
コード例 #4
0
ファイル: MainLayer.cs プロジェクト: LckDck/TestGame
        GemSprite CreateGem(CellType type, int col, int row)
        {
            var gem = new GemSprite(new CCTexture2D(), new CCRect(0, 0, GemSize, GemSize))
            {
                Color     = GetColor(type),
                PositionX = places[col, row].PositionX,
                PositionY = places[col, row].PositionY,
                Cell      = GameCore.GetCell(col, row),
                Col       = col,
                Row       = row
            };

            gems.Add(gem);
            return(gem);
        }