protected void OnMapDataReceived(MapTaskInfo info) { if (status == EChunkStatus.EWaitMapData) { status = EChunkStatus.ELive; } isWaitMapData = false; mapData = info.mapData; NotifyStatusChanged(); }
protected override void DealMapRequest(MapTaskInfo info) { mat.SetFloat("_MaxTerrianH", MaxMapH); mat.SetFloat("_PosScale", MapXZScale); mat.SetFloat("_Eps", MapEps); mat.SetVector("_WidHigh", new Vector4(WidInShader, WidInShader, 0, 0)); mat.SetVector("_Offset", info.offset); Graphics.Blit(null, rt, mat, 0); RenderTexture prev = RenderTexture.active; RenderTexture.active = rt; mapTex.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0); RenderTexture.active = prev; //rt.DiscardContents();//TODO Test info.mapData = new MapData(mapTex.GetPixels()); if (info.callBack != null) { info.callBack(info); } }
protected virtual void DealMapRequest(MapTaskInfo info) { }