//
//	#endregion
//
    #region map block
    private static void GetMapBlockData(MapObjDataManager manager)
    {
        int width  = manager.MapWidth;
        int height = manager.MapHeight;

        byte [] abBlockData;
        //SceneMapData.Instance.MapData.abBlockData = new byte[width * height];
        CollsionDetection.SetCollisionBuf(width, height, SceneMapData.layerName, out abBlockData);
        SceneMapData.Instance.mapDataStruct.BlockData = abBlockData;
    }
Пример #2
0
        public void updateGameRocksCollision(GameTime gameTime)
        {
            foreach (Planetoids rock in my_rocks.ToArray())
            {
                int rockR = rock.getRockR();
                rock.checkIfGoingTroughScreenEdges(screenWidth, screenHeight);
                CollsionDetection _charCollision = character.getCollision();
                CollsionDetection _rockCollision = rock.getCollision();
                rock.Update(gameTime);
                if (_charCollision.DoRectangleCircleOverlap(_rockCollision, _charCollision, rockR) && invulnTimer > 0.2f)
                {
                    playerHP--;
                    character.setIsAlive(false);
                    //when player dies, set respawn in update, handle ui
                }
                foreach (Projectile p in my_bullets)
                {
                    if (p.getisFlying())
                    {
                        if (p.isOutOfBounds(screenWidth, screenHeight))
                        {   //f**k yeah look at my smart bullets
                            //Console.WriteLine("im out sry bro");
                            p.RefreshProjectile();
                        }
                        CollsionDetection _bulletCollision = p.getCollision();
                        if (_bulletCollision.DoRectangleCircleOverlap(_rockCollision, _bulletCollision, rockR))
                        {
                            p.RefreshProjectile();
                            //Re workaj da se kamni splittajo TESTING
                            rock.setIsHit(true);
                            my_rocks.Remove(rock);
                            //DODAJ KASNEJ CE TE ZADANEJO

                            /*
                             * SEDAJ BOS MOGU NARDIT SLEDECE
                             * KO SE JE KLE ZGODL DA BOS HOTU PONOVNO DODAJAT NA SCENO, BOS TO DODAL V EN QUEUE,
                             * MAGAR NOV CLASS, POL PO UPDATE PA BOS DODAJAL PONOVNO NA SCENO,
                             * TOREJ KLE ZAZNAS D SE JE ZADEL V KAMEN METEK
                             * ZBRISES TA KAMEN, ZBRISES METEK DELA OK
                             * SEDAJ BOS PA MOGU NA QUEUE DODAT DA SE NAJ SPAWNA NOV KAMEN OZ VEC KAMNOV
                             * ODVISNO KAKO SE BOM ODLOCU, SAM MORS DODAJAT PO UPDATE,
                             * NIKOLI NE POSODABLJAJ TRENUTNE ZANKE!!!!!!!!!
                             * */
                            //my_rocks.Add(new Planetoids(this.GraphicsDevice));
                            //Zmanjsamo kamne
                            gameLogic.SetNumberOfRocks(-1);
                            gameLogic.IncrementScore();
                        }
                    }
                }
            }
        }