public override bool OnSetUp(Hashtable config, World world) { if (!base.OnSetUp(config, world)) { return(false); } connectsToNames = _GetPropertyFromConfig(config, "connectsToNames", "").Replace(" ", "").Split(','); connectsToSolid = _GetPropertyFromConfig(config, "connectsToSolid", true); for (int dir = 0; dir < 6; dir++) { var d = m_datas[dir] = new CustomMeshBlockData(); var i = m_info[dir] = new MeshBlockInfo(); Direction direction = DirectionUtils.Get(dir); i.fileLocation = _GetPropertyFromConfig(config, direction + "FileLocation", ""); if (string.IsNullOrEmpty(i.fileLocation)) { continue; } string textureName = _GetPropertyFromConfig(config, direction + "Texture", ""); d.textures = world.textureProvider.GetTextureCollection(textureName); i.meshOffset = new Vector3( float.Parse(_GetPropertyFromConfig(config, direction + "XOffset", "0"), CultureInfo.InvariantCulture), float.Parse(_GetPropertyFromConfig(config, direction + "YOffset", "0"), CultureInfo.InvariantCulture), float.Parse(_GetPropertyFromConfig(config, direction + "ZOffset", "0"), CultureInfo.InvariantCulture) ); } return(true); }
public override bool OnSetUp(Hashtable config, World world) { if (!base.OnSetUp(config, world)) { return(false); } connectsToNames = _GetPropertyFromConfig(config, "connectsToNames", "").Replace(" ", "").Split(','); connectsToSolid = _GetPropertyFromConfig(config, "connectsToSolid", true); for (int dir = 0; dir < 6; dir++) { var d = m_datas[dir] = new CustomMeshBlockData(); Direction direction = DirectionUtils.Get(dir); if (_GetPropertyFromConfig(config, direction + "FileLocation", "") == "") { continue; } d.textures = world.textureProvider.GetTextureCollection(_GetPropertyFromConfig(config, direction + "Texture", "")); Vector3 meshOffset; meshOffset.x = float.Parse(_GetPropertyFromConfig(config, direction + "XOffset", "0"), CultureInfo.InvariantCulture); meshOffset.y = float.Parse(_GetPropertyFromConfig(config, direction + "YOffset", "0"), CultureInfo.InvariantCulture); meshOffset.z = float.Parse(_GetPropertyFromConfig(config, direction + "ZOffset", "0"), CultureInfo.InvariantCulture); SetUpMesh( world.config.meshFolder + "/" + _GetPropertyFromConfig(config, direction + "FileLocation", ""), meshOffset, out d.tris, out d.verts, out d.uvs, out d.colors ); } return(true); }
public override bool OnPostSetUp(World world) { if (!base.OnPostSetUp(world)) { return(false); } for (int dir = 0; dir < 6; dir++) { CustomMeshBlockData d = datas[dir]; MeshBlockInfo i = info[dir]; if (string.IsNullOrEmpty(i.fileLocation)) { continue; } //string meshLocation = world.config.meshFolder + "/" + i.fileLocation; //SetUpMesh( // world, meshLocation, type, i.meshOffset, m_scale, // out d.tris, out d.verts, out d.uvs, out d.colors //); } return(true); }