private void SaveButton() { if (_canSave) { if (GUILayout.Button("Save Model")) { HexWorld.HexTileModel model = _hexTile.Model; model.MaterialName = "default"; model.TextureName = _textureContent[_textureIndex].text; string file = _filename + ".json"; string json = JsonUtility.ToJson(model); File.WriteAllText(_jsonPath + file, json); AssetDatabase.Refresh(); _output = "File " + file + " saved"; UpdateJsonOptions(); _canSave = false; } } if (!string.IsNullOrEmpty(_output)) { GUILayout.Label(_output, EditorStyles.miniLabel); } }
//---- Public //----------- public void AddHexTile(HexTileModel hexData) { if (HexTileModels == null) { HexTileModels = new List <HexTileModel>(); } HexTileModels.Add(hexData); }
//---- Public //----------- public void CreateBoard() { HexBoardModel model = HexBoard.Model; HexBoardView view = HexBoard.View; HexTilePreferences preferences = HexBoard.Preferences; view.HexTiles = new List <HexTile>(model.HexTileCount); for (int i = 0; i < model.HexTileCount; i++) { HexTile hexTile = Object.Instantiate(preferences.Prefab, view.Root); HexTileModel hexTileModel = model.HexTileModels[i]; hexTile.name = "Tile_" + i; hexTile.Model = hexTileModel; hexTile.View.SetMaterial(preferences.Materials[hexTileModel.MaterialName]); hexTile.View.SetTexture(preferences.Textures[hexTileModel.TextureName]); hexTile.transform.localPosition = hexTileModel.Position.Convert(); hexTile.transform.localRotation = Quaternion.Euler(hexTileModel.Rotation.Convert()); hexTile.transform.localScale = hexTileModel.Scale.Convert(); hexTile.View.Index = i; view.HexTiles.Add(hexTile); } }