Game.GameObject saveMapObject(MapObject mapObject, int layer, int x, int y) { Game.GameObject gameObject = mapObject.save(); Game.Transform transform = new Game.Transform(); transform.Position.X = x * gameCellSize; transform.Position.Y = y * gameCellSize; gameObject.Components.Add(transform); if (mapObject.mainSprite) { Game.Sprite sprite = new Game.Sprite(); Rect spriteRect = mapObject.mainSprite.rect; sprite.Dimensions.Left = (int)spriteRect.x; sprite.Dimensions.Top = (int)spriteRect.y; if (spriteRect.width < mapObject.mainSprite.texture.width) { sprite.Dimensions.Top = (int)(mapObject.mainSprite.texture.height - spriteRect.y - spriteRect.height); } sprite.layer = layer; var spriteTextureGUID = StringToGUID(AssetDatabase.GetAssetPath(mapObject.mainSprite.texture)); if (!gameTextures.ContainsKey(spriteTextureGUID.ToString())) { gameTextures.Add(spriteTextureGUID.ToString(), mapObject.mainSprite.texture); } sprite.Texture.textureAssetGUID = spriteTextureGUID.ToString(); gameObject.Components.Add(sprite); } gameObject.name = mapObject.objectName; return(gameObject); }
void Start() { //初始化 m_origin = transform.localPosition; m_selfTransform = this.transform; }