mirror of
https://github.com/photonstorm/phaser
synced 2024-12-25 12:33:38 +00:00
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
|
|
||
|
var Pick = require('./Pick');
|
||
|
var ParseGID = require('./ParseGID');
|
||
|
|
||
|
var pointToArray = function (p) { return [ p.x, p.y ]; };
|
||
|
var commonObjectProps = [ 'id', 'name', 'type', 'rotation', 'properties', 'visible', 'x', 'y' ];
|
||
|
|
||
|
var ParseObject = function (tiledObject)
|
||
|
{
|
||
|
var parsedObject = Pick(tiledObject, commonObjectProps);
|
||
|
|
||
|
if (tiledObject.gid)
|
||
|
{
|
||
|
// Object tiles
|
||
|
var gidInfo = ParseGID(tiledObject.gid);
|
||
|
parsedObject.gid = gidInfo.gid;
|
||
|
parsedObject.flippedHorizontal = gidInfo.flippedHorizontal;
|
||
|
parsedObject.flippedVertical = gidInfo.flippedVertical;
|
||
|
parsedObject.flippedAntiDiagonal = gidInfo.flippedAntiDiagonal;
|
||
|
}
|
||
|
else if (tiledObject.polyline)
|
||
|
{
|
||
|
parsedObject.polyline = tiledObject.polyline.map(pointToArray);
|
||
|
}
|
||
|
else if (tiledObject.polygon)
|
||
|
{
|
||
|
parsedObject.polygon = tiledObject.polygon.map(pointToArray);
|
||
|
}
|
||
|
else if (tiledObject.ellipse)
|
||
|
{
|
||
|
parsedObject.ellipse = tiledObject.ellipse;
|
||
|
parsedObject.width = tiledObject.width;
|
||
|
parsedObject.height = tiledObject.height;
|
||
|
}
|
||
|
else if (tiledObject.text)
|
||
|
{
|
||
|
parsedObject.width = tiledObject.width;
|
||
|
parsedObject.height = tiledObject.height;
|
||
|
parsedObject.text = tiledObject.text;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
// Otherwise, assume it is a rectangle
|
||
|
parsedObject.rectangle = true;
|
||
|
parsedObject.width = tiledObject.width;
|
||
|
parsedObject.height = tiledObject.height;
|
||
|
}
|
||
|
|
||
|
return parsedObject;
|
||
|
};
|
||
|
|
||
|
module.exports = ParseObject;
|