public bool Load(FullSerializer.fsData jsIsland) { var jsIslandData = jsIsland.AsDictionary; Id = (int)jsIslandData["id"].AsInt64; var islandPos = GameLevelJsonLoader.GetPos(jsIslandData["pos"]); var size = GameLevelJsonLoader.GetSize(jsIslandData["size"]); var resIndex = jsIslandData["res"].AsInt64; Pos = islandPos; Size = size; // back var sprite = _gameLevel.spriteLevelBack[(int)resIndex]; var backObj = EGHelpers.CreateSprite(Pos, sprite, "back_" + Id, _parentTransform, false); DebugLogger.WriteInfo("Island.Load sprite.rect = " + sprite.rect.ToString()); backObj.transform.localScale = new Vector3(Size.x * 100f / sprite.rect.width, Size.y * 100f / sprite.rect.height, 1f); var sprRender = backObj.GetComponent <SpriteRenderer>(); sprRender.sortingOrder = -2; if (jsIslandData.ContainsKey("backMesgColor")) { var sBackMesgColor = jsIslandData["backMesgColor"].AsString; float[] colors = sBackMesgColor.Split <float>(','); sprRender.color = new Color(colors[0], colors[1], colors[2]); } if (jsIslandData.ContainsKey("trees")) { var jsTreeList = jsIslandData["trees"].AsList; foreach (var jsTree in jsTreeList) { var jsTreeData = jsTree.AsDictionary; var treePos = GameLevelJsonLoader.GetPos(jsTreeData["pos"]); var treeObj = EGHelpers.CreateSpriteByScript <Tree>(islandPos + treePos, _gameLevel.spriteTree, "tree", _parentTransform, GameLevel.TerrainTagName); } } return(true); }