Ejemplo n.º 1
0
        public Entity Make(TiledObject obj, Layer layer, MapBuilder map)
        {
            var player = ActorBaseFactory.Make(obj, layer, map, Tag);

            // Teleporting player to the checkpoint, if it's set.
            var position     = player.GetComponent <PositionComponent>();
            var physics      = player.GetComponent <PhysicsComponent>();
            var defaultLayer = SceneMgr.GetScene("default")["default"];

            var checkpointMgr = defaultLayer.FindEntity <CheckpointManager>();

            if (checkpointMgr != null && !checkpointMgr.NoCheckpointSet)
            {
                position.Position = checkpointMgr.CheckpointPosition - Vector2.UnitY * physics.Collider.Size.Y / 2;
            }

            return(player);
        }
Ejemplo n.º 2
0
        public Entity Make(TiledObject obj, Layer layer, MapBuilder map)
        {
            var gato = ActorBaseFactory.Make(obj, layer, map, Tag);

            var master = gato;

            for (var i = 0; i < int.Parse(obj.Properties["stack"]); i += 1)
            {
                var slave      = Entity.CreateFromTemplate(layer, Tag);
                var slaveActor = slave.GetComponent <StackableActorComponent>();
                slaveActor.Silent = true;
                StackableActorSystem.StackEntity(master.GetComponent <StackableActorComponent>(), slaveActor);
                master = slave;
                slave.GetComponent <PositionComponent>().Position         = obj.Position - Vector2.UnitY * 32;        // Fixes cats colliding with the ground.
                slave.GetComponent <PositionComponent>().PreviousPosition = obj.Position - Vector2.UnitY * 32;
            }

            return(gato);
        }
Ejemplo n.º 3
0
 public Entity Make(TiledObject obj, Layer layer, MapBuilder map)
 {
     return(ActorBaseFactory.Make(obj, layer, map, Tag));
 }