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);
    }
예제 #2
0
        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);
        }