Move to desktop

This commit is contained in:
alexiscatnip
2021-08-14 19:42:06 +08:00
parent bf5f273ed1
commit 3621cf8752
5 changed files with 132 additions and 174 deletions
@@ -109,7 +109,6 @@ namespace OpenMetaverse.Http
// Start the request for the remote server response
IAsyncResult result = request.BeginGetResponse(GetResponse, state);
Debug.Log("testing");
// Register a timeout for the request
ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle, TimeoutCallback, state, millisecondsTimeout, true);
}
+43 -45
View File
@@ -2,8 +2,10 @@
using Raindrop.Network;
using Raindrop.UI;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using UniRx;
using UnityEngine;
using static Raindrop.MapDataPool;
@@ -80,7 +82,7 @@ namespace Raindrop
downloader.QueueDownlad(
new Uri(string.Format("http://map.secondlife.com/map-{0}-{1}-{2}-objects.jpg", zoom, regX, regY)),
3 * 1000, // was 20.
20 * 1000,
null,
null,
(request, response, responseData, error) =>
@@ -89,59 +91,38 @@ namespace Raindrop
{
try
{
Debug.Log("done!");
Debug.Log("fetching the texture was successful!");
//using (MemoryStream s = new MemoryStream(responseData)) //s of JPEG
//{
//lock (mapData.regionTiles)
//{
// //decode http response data into texture2d
// MapTile tex = mapData.getUnusedTex();
// tex.texture.LoadImage(responseData); //Image.FromStream(s);
// //mapData.regionTiles[handle] =
// //needRepaint = true;
//}
lock (mapData.regionTiles)
{
//decode http response data into texture2d
MapTile tex = mapData.getUnusedTex();
//run jpeg decoding on the main thread, for now.
MainThreadDispatcher.StartCoroutine(TestAsync(tex, responseData));
//Image.FromStream(s);
//mapData.regionTiles[handle] =
//needRepaint = true;
mapData.regionTiles.Add( handle,tex);
}
//}
}
catch (Exception e)
{
Debug.LogError(e.Message);
}
catch { }
}
}
);
//downloader.QueueDownlad(
// new Uri(string.Format("http://map.secondlife.com/map-{0}-{1}-{2}-objects.jpg", zoom, regX, regY)),
// 3 * 1000, // was 20.
// null,
// null,
// (request, response, responseData, error) =>
// {
// if (error == null && responseData != null)
// {
// try
// {
// Debug.Log("done!");
// //using (MemoryStream s = new MemoryStream(responseData)) //s of JPEG
// //{
// //lock (mapData.regionTiles)
// //{
// // //decode http response data into texture2d
// // MapTile tex = mapData.getUnusedTex();
// // tex.texture.LoadImage(responseData); //Image.FromStream(s);
// // //mapData.regionTiles[handle] =
// // //needRepaint = true;
// //}
// //}
// }
// catch { }
// }
// }
//);
lock (mapData.regionTiles)
{
mapData.regionTiles[handle] = null;
@@ -151,6 +132,23 @@ namespace Raindrop
}
}
private IEnumerator TestAsync(MapTile tex, byte[] responseData)
{
try
{
bool success = tex.texture.LoadImage(responseData);
}
catch (Exception w)
{
Debug.Log("decode the texture failed : " + w.Message);
}
Debug.Log("completed mainthread async texture Decode.");
yield return null;
}
// get image from cache or asset manager. returns tex2D.
// should only be used for the minimap. Use http map API fetch for normal map.
+12 -4
View File
@@ -39,8 +39,7 @@ public class MapViewer : MonoBehaviour
System.Threading.Timer repaint;
private void Awake()
{
//in main thread, before all uses.
//BetterStreamingAssets.Initialize();
mapFetcher = new MapLogic.MapFetcher();
}
@@ -78,7 +77,10 @@ public class MapViewer : MonoBehaviour
ulong handle = mapMover.GetLookAt();
int zoom = (int)zoomSlider.value;
// how 2 convert look at floats into uints? (uints are gridpos * 256)
mapFetcher.GetRegionTileExternal(handle, zoom);
if (mapFetcher.GetMapTile(handle, 1) == null) //hack for now.
{
mapFetcher.GetRegionTileExternal(handle, 1);
}
needRepaint = true;
@@ -86,6 +88,8 @@ public class MapViewer : MonoBehaviour
return;
}
// 1. checks if repaint is needed 2. proceeds to get the view-ablemaptiles 3. draws these subset of tiles.
private void drawImage( )
{
onRefresh(); //hacky
@@ -99,7 +103,11 @@ public class MapViewer : MonoBehaviour
}
ulong handle = mapMover.GetLookAt();
MapTile tex = mapFetcher.GetMapTile(handle, 1);
iv.setRawImage(tex.texture);
if (tex != null)
{
iv.setRawImage(tex.texture);
}
Debug.Log("drew images.");
}
}
@@ -5,6 +5,7 @@ using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using UniRx;
using UnityEngine;
namespace Raindrop
@@ -15,11 +16,11 @@ namespace Raindrop
{
[SerializeField]
public MapLogic.MapFetcher mapFetcher; //fetching logic + pooling data here
private void Awake()
{
MainThreadDispatcher.Initialize();
mapFetcher = new MapLogic.MapFetcher();
}
@@ -38,10 +39,5 @@ namespace Raindrop
}
//private void Finish(IAsyncResult result)
//{
// Debug.Log("FINISH");
//}
}
}
+74 -117
View File
@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
m_IndirectSpecularColor: {r: 0.44657826, g: 0.49641263, b: 0.57481676, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@@ -593,6 +593,62 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 250150713}
m_CullTransparentMesh: 1
--- !u!1 &424157930
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 424157932}
- component: {fileID: 424157931}
- component: {fileID: 424157933}
m_Layer: 0
m_Name: mainthreaddispatcher
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &424157931
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 424157930}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c3cd207057515c4438a31a6a7b548fe7, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &424157932
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 424157930}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 11
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &424157933
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 424157930}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 166e46cf3e858f546afb5238ba99e9bd, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &442553463
GameObject:
m_ObjectHideFlags: 0
@@ -697,7 +753,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2142188249}
m_RootOrder: 9
m_RootOrder: 10
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -846,7 +902,7 @@ RectTransform:
- {fileID: 2111508551}
- {fileID: 1137755964}
m_Father: {fileID: 2142188249}
m_RootOrder: 5
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -1386,7 +1442,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2142188249}
m_RootOrder: 0
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -1458,7 +1514,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
m_IsActive: 1
--- !u!114 &974969035
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -1571,7 +1627,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2142188249}
m_RootOrder: 4
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -1801,7 +1857,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2142188249}
m_RootOrder: 3
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -1984,7 +2040,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2142188249}
m_RootOrder: 6
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -2442,7 +2498,7 @@ RectTransform:
- {fileID: 527187305}
- {fileID: 1717188576}
m_Father: {fileID: 2142188249}
m_RootOrder: 7
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -2532,7 +2588,7 @@ RectTransform:
m_Children:
- {fileID: 616826258}
m_Father: {fileID: 2142188249}
m_RootOrder: 1
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -2741,7 +2797,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 10, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@@ -2851,7 +2907,7 @@ RectTransform:
m_Children:
- {fileID: 1337363390}
m_Father: {fileID: 2142188249}
m_RootOrder: 2
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -2979,12 +3035,12 @@ RectTransform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1836143117}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 250150714}
m_Father: {fileID: 1838026984}
m_Father: {fileID: 2142188249}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
@@ -3098,106 +3154,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1836143117}
m_CullTransparentMesh: 1
--- !u!1 &1838026980
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1838026984}
- component: {fileID: 1838026983}
- component: {fileID: 1838026982}
- component: {fileID: 1838026981}
m_Layer: 5
m_Name: Canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1838026981
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1838026980}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &1838026982
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1838026980}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 0
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &1838026983
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1838026980}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_AdditionalShaderChannelsFlag: 25
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!224 &1838026984
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1838026980}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_Children:
- {fileID: 1836143118}
m_Father: {fileID: 0}
m_RootOrder: 11
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &1875686734
GameObject:
m_ObjectHideFlags: 0
@@ -3231,7 +3187,7 @@ RectTransform:
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 12.996216, y: 0}
m_SizeDelta: {x: 45.9923, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
@@ -3305,7 +3261,7 @@ RectTransform:
- {fileID: 1972450272}
- {fileID: 122388698}
m_Father: {fileID: 2142188249}
m_RootOrder: 8
m_RootOrder: 9
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
@@ -3615,6 +3571,7 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1836143118}
- {fileID: 926232952}
- {fileID: 1546686510}
- {fileID: 1815988573}
@@ -3640,7 +3597,7 @@ MonoBehaviour:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2142188248}
m_Enabled: 0
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 94a035e39438d0e48b0e7c85961e829e, type: 3}
m_Name: