Skip to content

Instantly share code, notes, and snippets.

@piedoom
Created July 16, 2016 18:10
Show Gist options
  • Save piedoom/9dfb53ae76fe7a49bea680596697eeba to your computer and use it in GitHub Desktop.
Save piedoom/9dfb53ae76fe7a49bea680596697eeba to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Nez;
using Microsoft.Xna.Framework;
using Nez.Sprites;
using Microsoft.Xna.Framework.Graphics;
using Nez.Tiled;
using Vapor.Code.Player;
using Vapor.Code.Manager;
namespace Vapor.Scenes
{
class TileScene : Scene
{
Renderer defaultRenderer = new DefaultRenderer();
private string mapFileName;
Entity tiledEntity;
TiledMap tiledMap;
TiledMapComponent tiledMapComponent;
public override void initialize()
{
addRenderer(defaultRenderer);
}
public TileScene(string _mapFileName)
{
mapFileName = _mapFileName;
tiledEntity = createEntity("tiled-map");
tiledMap = content.Load<TiledMap>(mapFileName);
tiledMapComponent = tiledEntity.addComponent(new TiledMapComponent(tiledMap, "Main" ));
}
public override void onStart()
{
var collisions = createEntity("collisions");
foreach (var obj in tiledMap.getObjectGroup("Collisions").objects)
{
collisions.addCollider<PolygonCollider>(new PolygonCollider(obj.polyPoints));
}
foreach (var obj in tiledMap.getObjectGroup("BoxCollisions").objects)
{
collisions.addCollider<BoxCollider>(new BoxCollider(obj.x, obj.y, obj.width, obj.height));
}
var playerTile = tiledMap.getObjectGroup("PlayerLayer").objectWithName("Player");
// initialize our player
var player = createEntity("player");
player.transform.position = new Vector2(playerTile.x, playerTile.y);
player.addComponent<Player>(new Player());
var followCamera = camera.entity.addComponent<FollowCamera>(new FollowCamera(player));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment