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); }
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); }
public Entity Make(TiledObject obj, Layer layer, MapBuilder map) { return(ActorBaseFactory.Make(obj, layer, map, Tag)); }