// // #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; }
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(); } } } } }