Advertisement
Guest User

Nez Monogame entities not colliding with each other.

a guest
Nov 15th, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.81 KB | None | 0 0
  1.         private void SetupObjects()
  2.         {
  3.             TiledObject[] objects = _tileMap.objectGroups.SelectMany(g => g.objects).ToArray();
  4.             var spawn = objects.FirstOrDefault(o => o.name == "playerspawn");
  5.             TiledTileLayer collisionLayer = (TiledTileLayer)_tileMap.layers[0];//.FirstOrDefault(l => l.properties.ContainsKey("iscollision"));
  6.             TiledMapMover mover = new TiledMapMover(collisionLayer);
  7.             if(spawn == null)
  8.             {
  9.                 //TODO error
  10.             }
  11.             if(collisionLayer == null)
  12.             {
  13.                 //TODO error
  14.             }
  15.  
  16.             _playerEntity = createEntity("player");
  17.             _playerEntity.transform.setPosition(spawn.x, spawn.y);
  18.             _playerEntity.addComponent(new PrototypeSprite(28.0F, 28.0F) {color = Colors.GetGoodColor()});
  19.             _playerEntity.addComponent(mover);
  20.             _playerEntity.addCollider(new BoxCollider(-14.0F, -14.0F, 28.0F, 28.0F));
  21.             _playerEntity.addComponent<Components.PlayerController>();
  22.  
  23.             for(int i = 0; i < objects.Length; i++)
  24.             {
  25.                 TiledObject obj = objects[i];
  26.                 if(!obj.properties.ContainsKey("type"))
  27.                 {
  28.                     continue;
  29.                 }
  30.  
  31.                 var entity = createEntity(obj.name, obj.position);
  32.                 entity.addComponent(new PrototypeSprite(obj.width, obj.height) {color = Colors.GetBadColor()});
  33.                 entity.addComponent(mover);
  34.                 entity.addCollider(new BoxCollider(-(obj.height / 2), -(obj.width / 2), obj.width, obj.height));
  35.  
  36.                 if(obj.properties["type"] == "patrol")
  37.                 {
  38.                     entity.addComponent(new Components.PatrolBotController());
  39.                 }
  40.             }
  41.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement