public OCTerrainGenerator(OpenCog.Map.OCMap map) {
		this.map = map;
		Debug.Log("OCTerrainGenerator is getting the BlockSet from the Map.");
		OpenCog.BlockSet.OCBlockSet blockSet = map.GetBlockSet();
		Debug.Log("BlockSet retrieved...");
		
		water = blockSet.GetBlock("Water");

		grass = blockSet.GetBlock("Grass");

		if (grass == null)
		{
			Debug.Log("We have no Grass! :(");

			for (int i = 0; i < blockSet.Blocks.Length; i++)
			{
				Debug.Log("But we have " + blockSet.Blocks[i].GetName());

			}
		}
		dirt = blockSet.GetBlock("Dirt");
		sand = blockSet.GetBlock("Sand");
		stone = blockSet.GetBlock("Stone");
		
		snow = blockSet.GetBlock("Snow");
		ice = blockSet.GetBlock("Ice");
	}
        //---------------------------------------------------------------------------

        #endregion

        //---------------------------------------------------------------------------

        #region Accessors and Mutators

        //---------------------------------------------------------------------------



        //---------------------------------------------------------------------------

        #endregion

        //---------------------------------------------------------------------------

        #region Public Member Functions

        //---------------------------------------------------------------------------

        public void Awake()
        {
            OpenCog.Map.OCMap map = (OpenCog.Map.OCMap)GameObject.FindObjectOfType(typeof(OpenCog.Map.OCMap));
            _blockSet = map.GetBlockSet();
            _player   = GameObject.FindGameObjectWithTag("Player");
            _builder  = (OpenCog.Builder.OCBuilder)_player.GetComponent <OpenCog.Builder.OCBuilder>();
        }
예제 #3
0
        public static OCChunkRenderer CreateChunkRenderer(Vector3i pos, OpenCog.Map.OCMap map, OCChunk chunk)
        {
            UnityEngine.GameObject go = new UnityEngine.GameObject("(" + pos.x + " " + pos.y + " " + pos.z + ")", typeof(UnityEngine.MeshFilter), typeof(UnityEngine.MeshRenderer), typeof(OpenCog.Map.OCChunkRenderer));
            go.transform.parent        = map.transform;
            go.transform.localPosition = new UnityEngine.Vector3(pos.x * OpenCog.Map.OCChunk.SIZE_X, pos.y * OpenCog.Map.OCChunk.SIZE_Y, pos.z * OpenCog.Map.OCChunk.SIZE_Z);
            go.transform.localRotation = UnityEngine.Quaternion.identity;
            go.transform.localScale    = UnityEngine.Vector3.one;

            OCChunkRenderer chunkRenderer = go.GetComponent <OCChunkRenderer>();

            chunkRenderer.BlockSet = map.GetBlockSet();
            chunkRenderer.Chunk    = chunk;

            go.renderer.castShadows    = false;
            go.renderer.receiveShadows = false;

            return(chunkRenderer);
        }