//Przesuwanie mapy, odkrywanie mapy private IEnumerator IChangeChunk(int direction, Vector3 mapoffset) { changing = true; Vector3 velocity = gerald.rb.velocity; bool useGravity = gerald.rb.useGravity; gerald.rb.velocity = Vector3.zero; gerald.rb.useGravity = false; gerald.enabled = false; yield return(StartCoroutine(activeChunk.DeActivate())); //KORUTYNA activeChunk = nextChunks[direction]; mainCamera.transform.position = activeChunk.transform.position + cameraOffset; yield return(StartCoroutine(activeChunk.Activate())); nextChunks = new Chunk[4] { activeChunk.NorthChunk, activeChunk.EastChunk, activeChunk.SouthChunk, activeChunk.WestChunk }; this.gameObject.transform.position = activeChunk.transform.position; //Włączenie activeChunk.chunkImage.color = Color.white; contentObject.transform.position += mapoffset; gerald.enabled = true; gerald.rb.velocity = velocity; gerald.rb.useGravity = useGravity; changing = false; }
public Chunk GetInstance(Vector3 pos, float size, string customer) { //////////////////////////////////////////////////////////////////////// InstanceCnt++;//DEBIG /* * if(customer== "DFS_UPD") * { * TerrainVoxel.print(InstanceCnt); * TerrainVoxel.print(customer); * TerrainVoxel.print("------------------------------"); * TerrainVoxel.print(pos); * TerrainVoxel.print(size); * TerrainVoxel.print("------------------------------"); * } */ /////////////////////////////////////////////////////////////////////////// if (IDs[0] == 0)//MLE { Chunk ret = new Chunk(-1); ret.Activate(pos, size); return(ret); } else { Chunk ret = Pool[IDs[IDs[0]--]].Activate(pos, size); return(ret); } }