コード例 #1
0
 protected override void WriteData(ESPWriter writer)
 {
     Layer0.WriteBinary(writer);
     Layer1.WriteBinary(writer);
     Layer2.WriteBinary(writer);
     Layer3.WriteBinary(writer);
 }
コード例 #2
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Layer0", true, out subEle);
            subEle.Value = Layer0.ToString();

            ele.TryPathTo("Layer1", true, out subEle);
            subEle.Value = Layer1.ToString();

            ele.TryPathTo("Layer2", true, out subEle);
            subEle.Value = Layer2.ToString();

            ele.TryPathTo("Layer3", true, out subEle);
            subEle.Value = Layer3.ToString();
        }
コード例 #3
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Layer0", true, out subEle);
            Layer0.WriteXML(subEle, master);

            ele.TryPathTo("Layer1", true, out subEle);
            Layer1.WriteXML(subEle, master);

            ele.TryPathTo("Layer2", true, out subEle);
            Layer2.WriteXML(subEle, master);

            ele.TryPathTo("Layer3", true, out subEle);
            Layer3.WriteXML(subEle, master);
        }
コード例 #4
0
 protected override void ReadData(ESPReader reader)
 {
     using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
         using (ESPReader subReader = new ESPReader(stream, reader.Plugin))
         {
             try
             {
                 Layer0.ReadBinary(subReader);
                 Layer1.ReadBinary(subReader);
                 Layer2.ReadBinary(subReader);
                 Layer3.ReadBinary(subReader);
             }
             catch
             {
                 return;
             }
         }
 }
コード例 #5
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Layer0", false, out subEle))
            {
                Layer0.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Layer1", false, out subEle))
            {
                Layer1.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Layer2", false, out subEle))
            {
                Layer2.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Layer3", false, out subEle))
            {
                Layer3.ReadXML(subEle, master);
            }
        }
コード例 #6
0
ファイル: SpatialNodes.cs プロジェクト: boboshu/Smart-Core
            public T GetOrGen(ushort x, ushort y, ushort z)
            {
                var indx = (x & 12) >> 2 | (y & 12) | ((z & 12) << 2);

                return((layers[indx] ?? (layers[indx] = new Layer0())).GetOrGen(x, y, z));
            }
コード例 #7
0
ファイル: SpatialNodes.cs プロジェクト: boboshu/Smart-Core
            public void Gen(ushort x, ushort y, ushort z)
            {
                var indx = (x & 12) >> 2 | (y & 12) | ((z & 12) << 2);

                (layers[indx] ?? (layers[indx] = new Layer0())).Gen(x, y, z);
            }
コード例 #8
0
 public override int GetHashCode()
 {
     return(Layer0.GetHashCode());
 }
コード例 #9
0
ファイル: MapGeneration.cs プロジェクト: hompoth/FlingWhale
	void createTile(Layer0[] arr, Texture2D block){
		for (int i = 0; i < xLength; ++i) {
			for (int j = 0; j < yLength; ++j) {
				if (arr[xLength*yLength-1-(j*xLength+i)] == Layer0.Dirt) {
					int[] tileOrder = { 13, 10, 14, 8, -18, 6, 16, 4, 17};
					for (int k = 0; k < 3; ++k) {
						for (int l = 0; l < 3; ++l) {
							setTilePixels(i, k, j, l, getTilePixels(18, tileOrder[k*3+l]));
						}
					}
				} else if (arr[xLength*yLength-1-(j*xLength+i)] == Layer0.Water) {
					for (int k = 0; k < 3; ++k) {
						for (int l = 0; l < 3; ++l) {
							setTilePixels(i, k, j, l, getTilePixels(18*3, 3+k*3+l));
						}
					}
				} else { // Grass
					for (int k = 0; k < 3; ++k) {
						for (int l = 0; l < 3; ++l) {
							setTilePixels(i, k, j, l, getTilePixels(18, Random.Range (0, 3)));
						}
					}
				}
			}
		}
	}
コード例 #10
0
ファイル: MapGeneration.cs プロジェクト: hompoth/FlingWhale
	public void GenerateBlock (int x, int y, int seed, int posX, int posY) {
		//curPosX = posX;
		//curPosY = posY;
		int newSeed = (seed + x + y) ^ (y);
		Random.seed = newSeed;
		
		if (blockArray [(x - posX) + 4, (y - posY) + 4] != null) {
			return;
		}
		
		block = new Texture2D (xLength * pixelRes * 3, yLength * pixelRes * 3);
		
		float xshift = 3 * xLength / 2 - 1f;
		float yshift = 3 * yLength / 2 - 1f;
		
		GameObject child;
		GameObject parent = GameObject.CreatePrimitive(PrimitiveType.Plane);
		parent.transform.position = new Vector3 ((float)(x*3*xLength), 0, (float)(y*3*yLength));
		parent.transform.localScale = new Vector3 (.3f*xLength, 1, .3f*yLength);
		parent.name = "("+x+", "+y+")";
		
		x *= 3*xLength;
		y *= 3*yLength;
		
		Layer0[] arr = new Layer0[xLength*yLength];
		for (int i = 0; i < xLength; ++i) {
			for (int j = 0; j < yLength; ++j) {
				float curVal = Random.value;
				if(curVal<.3){
					arr[i*xLength+j] = Layer0.Dirt;
				} else if(curVal<.5) {
					arr[i*xLength+j] = Layer0.Water;
					child = Instantiate (River, new Vector3 ((float)(i*3-xshift + x), 0.1f, (float)(j*3-yshift + y)), Quaternion.identity) as GameObject;
					child.transform.parent = parent.transform;
				} else {
					arr[i*xLength+j] = Layer0.Grass;
					curVal = Random.value;
					if(curVal<.25) {
						child = Instantiate (Tree, new Vector3 ((float)(i*3-xshift + x), 0.1f, (float)(j*3-yshift + y)), Quaternion.identity) as GameObject;
						child.transform.parent = parent.transform;
					}
					else if(curVal<.5){
						child = Instantiate (Bush, new Vector3 ((float)(i*3-xshift + x), 0.1f, (float)(j*3-yshift + y)), Quaternion.identity) as GameObject;
						child.transform.parent = parent.transform;
					}
					
				}
			}
		}
		createTile(arr, block); 
		block.Apply ();
		parent.renderer.material.mainTexture = block;
		x /= 3*xLength;
		y /= 3*yLength;
		blockArray [(x-posX + 4), (y-posY + 4)] = parent;
		//lastPosX = curPosX;
		//lastPosY = curPosY;
	}