new sorting wip

This commit is contained in:
2015-08-02 20:53:31 +06:00
parent 217285eeec
commit 13e900f811
36 changed files with 48712 additions and 2841 deletions

View File

@@ -19,7 +19,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Temp\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;UNITY_5_1_1;UNITY_5_1;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_LICENSE;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_EDITOR_METRICS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;UNITY_STANDALONE_OSX;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX</DefineConstants>
<DefineConstants>DEBUG;TRACE;UNITY_5_1_1;UNITY_5_1;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_LICENSE;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_EDITOR_METRICS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;UNITY_STANDALONE_OSX;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;DEVELOPMENT_BUILD;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>0169</NoWarn>

View File

@@ -19,7 +19,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Temp\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;UNITY_5_1_1;UNITY_5_1;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_LICENSE;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_EDITOR_METRICS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;UNITY_STANDALONE_OSX;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX</DefineConstants>
<DefineConstants>DEBUG;TRACE;UNITY_5_1_1;UNITY_5_1;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_LICENSE;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_EDITOR_METRICS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;UNITY_STANDALONE_OSX;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;DEVELOPMENT_BUILD;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>0169</NoWarn>

View File

@@ -19,7 +19,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Temp\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;UNITY_5_1_1;UNITY_5_1;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_LICENSE;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_EDITOR_METRICS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;UNITY_STANDALONE_OSX;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX</DefineConstants>
<DefineConstants>DEBUG;TRACE;UNITY_5_1_1;UNITY_5_1;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_LICENSE;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_EDITOR_METRICS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;UNITY_STANDALONE_OSX;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;DEVELOPMENT_BUILD;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>0169</NoWarn>

View File

@@ -19,7 +19,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Temp\bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;UNITY_5_1_1;UNITY_5_1;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_LICENSE;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_EDITOR_METRICS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;UNITY_STANDALONE_OSX;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX</DefineConstants>
<DefineConstants>DEBUG;TRACE;UNITY_5_1_1;UNITY_5_1;UNITY_5;ENABLE_NEW_BUGREPORTER;ENABLE_2D_PHYSICS;ENABLE_4_6_FEATURES;ENABLE_AUDIO;ENABLE_CACHING;ENABLE_CLOTH;ENABLE_DUCK_TYPING;ENABLE_FRAME_DEBUGGER;ENABLE_GENERICS;ENABLE_HOME_SCREEN;ENABLE_IMAGEEFFECTS;ENABLE_LIGHT_PROBES_LEGACY;ENABLE_MICROPHONE;ENABLE_MULTIPLE_DISPLAYS;ENABLE_PHYSICS;ENABLE_PHYSICS_PHYSX3;ENABLE_PLUGIN_INSPECTOR;ENABLE_SHADOWS;ENABLE_SINGLE_INSTANCE_BUILD_SETTING;ENABLE_SPRITES;ENABLE_TERRAIN;ENABLE_UNET;ENABLE_UNITYEVENTS;ENABLE_VR;ENABLE_WEBCAM;ENABLE_WWW;ENABLE_CLOUD_SERVICES;ENABLE_CLOUD_SERVICES_ANALYTICS;ENABLE_CLOUD_SERVICES_UNET;ENABLE_CLOUD_LICENSE;ENABLE_AUDIOMIXER_SUSPEND;ENABLE_EDITOR_METRICS;INCLUDE_DYNAMIC_GI;INCLUDE_GI;INCLUDE_IL2CPP;INCLUDE_DIRECTX12;PLATFORM_SUPPORTS_MONO;RENDER_SOFTWARE_CURSOR;ENABLE_LOCALIZATION;UNITY_STANDALONE_OSX;UNITY_STANDALONE;ENABLE_SUBSTANCE;ENABLE_GAMECENTER;ENABLE_TEXTUREID_MAP;ENABLE_RUNTIME_GI;ENABLE_MOVIES;ENABLE_NETWORK;ENABLE_CRUNCH_TEXTURE_COMPRESSION;ENABLE_WEBSOCKET_HOST;ENABLE_MONO;DEVELOPMENT_BUILD;ENABLE_PROFILER;DEBUG;TRACE;UNITY_ASSERTIONS;UNITY_EDITOR;UNITY_EDITOR_64;UNITY_EDITOR_OSX</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<NoWarn>0169</NoWarn>

View File

@@ -42,7 +42,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 124842}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -.966036558, y: 1.8369118, z: 14.0350876}
m_LocalPosition: {x: -23.7793617, y: 45.2162933, z: 14.0350876}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 491986}

View File

@@ -83,7 +83,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 199876}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: .649999976, y: 2.27499986, z: 52.7777863}
m_LocalPosition: {x: 16, y: 56, z: 52.7777863}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 492676}

View File

@@ -155,6 +155,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: 2.5}
_position: {x: 6, y: -2, z: 0}
_isAlignment: 1

View File

@@ -126,6 +126,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: 2.20000005}
_position: {x: 4, y: 1, z: 0}
_isAlignment: 1

View File

@@ -68,6 +68,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: .300000012, y: .100000001, z: .550000012}
_position: {x: 2, y: 2, z: .529999971}
_isAlignment: 0

View File

@@ -68,6 +68,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: .300000012, y: .100000001, z: .550000012}
_position: {x: 2.70000005, y: 2, z: .529999971}
_isAlignment: 0

View File

@@ -51,7 +51,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 129934}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: .344499975, z: 0}
m_LocalPosition: {x: 0, y: 8.47999954, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 403766}

View File

@@ -51,7 +51,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 110900}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.17386711, y: .057843782, z: 0}
m_LocalPosition: {x: -28.8951912, y: 1.42384696, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 449742}

View File

@@ -43,7 +43,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 121016}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.59553313, y: 1.54941559, z: 30.3571491}
m_LocalPosition: {x: -39.274662, y: 38.1394615, z: 30.3571491}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 442418}

View File

@@ -68,6 +68,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: .529999971}
_position: {x: 2, y: 0, z: 0}
_isAlignment: 1

View File

@@ -68,6 +68,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: .529999971}
_position: {x: -2, y: 2, z: 0}
_isAlignment: 1

View File

@@ -68,6 +68,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: .529999971}
_position: {x: 0, y: -2, z: 0}
_isAlignment: 1

View File

@@ -68,6 +68,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: .529999971}
_position: {x: 4, y: 2, z: 0}
_isAlignment: 1

View File

@@ -51,7 +51,7 @@ Transform:
m_PrefabInternal: {fileID: 100100000}
m_GameObject: {fileID: 128698}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 2.12775278, y: 2.6389122, z: 43.75}
m_LocalPosition: {x: 52.3754539, y: 64.95784, z: 43.75}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 461496}

View File

@@ -68,6 +68,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: .529999971}
_position: {x: 5, y: 5, z: 0}
_isAlignment: 1

View File

@@ -68,6 +68,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: .529999971}
_position: {x: 4, y: 5, z: 0}
_isAlignment: 1

View File

@@ -68,6 +68,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: .529999971}
_position: {x: 3, y: 5, z: 0}
_isAlignment: 1

View File

@@ -98,6 +98,10 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
InternalMoved: 0
InternalVisited: 0
_size: {x: 1, y: 1, z: .529999971}
_position: {x: -2, y: -1, z: 0}
_isAlignment: 1

View File

@@ -40,10 +40,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
Visited: 0
Moved: 0
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
_size: {x: 1, y: 1, z: 1}
_position: {x: 0, y: 0, z: 0}
_isAlignment: 1

View File

@@ -40,10 +40,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
Visited: 0
Moved: 0
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
_size: {x: 1, y: 1, z: 3}
_position: {x: 0, y: 0, z: 0}
_isAlignment: 1

View File

@@ -40,10 +40,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
Visited: 0
Moved: 0
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
_size: {x: 1, y: 3, z: 1}
_position: {x: 0, y: 0, z: 0}
_isAlignment: 1

View File

@@ -40,10 +40,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
Visited: 0
Moved: 0
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
_size: {x: 3, y: 1, z: 1}
_position: {x: 0, y: 0, z: 0}
_isAlignment: 1

View File

@@ -40,10 +40,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
Visited: 0
Moved: 0
MinSector: {x: 0, y: 0, z: 0}
MaxSector: {x: 0, y: 0, z: 0}
_size: {x: 3, y: 3, z: 0}
_position: {x: 0, y: 0, z: 0}
_isAlignment: 1

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -87,6 +87,168 @@ NavMeshSettings:
cellSize: .166666672
manualCellSize: 0
m_NavMeshData: {fileID: 0}
--- !u!1001 &73460218
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: m_LocalPosition.x
value: 55.1027527
objectReference: {fileID: 0}
- target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: m_LocalPosition.y
value: -33.507988
objectReference: {fileID: 0}
- target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: m_LocalPosition.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: _position.x
value: -5.26583767
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: _position.y
value: -8.70975971
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: Visited
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: MaxSector.x
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: MaxSector.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: MaxSector.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: Moved
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: _isAlignment
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: MinSector.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: MinSector.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: _isShowBounds
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: Bounds.m_Center.x
value: 12.2434006
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: Bounds.m_Center.y
value: -39.0043144
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: Bounds.m_Center.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: Bounds.m_Extent.x
value: 32
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: Bounds.m_Extent.y
value: 24
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: _position.z
value: 4.89354944
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: InternalMoved
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11453620, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
propertyPath: InternalVisited
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: dbd21aa1b9a2cdf4a944f50e64d145a1, type: 2}
m_IsPrefabParent: 0
--- !u!1 &146114441
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 4
m_Component:
- 4: {fileID: 146114443}
- 114: {fileID: 146114442}
m_Layer: 0
m_Name: GameObject
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &146114442
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 146114441}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9a9c584f9a39449438abc7ba59a68778, type: 3}
m_Name:
m_EditorClassIdentifier:
_size: {x: .5, y: .5, z: 3}
_position: {x: -1.20499063, y: .390191108, z: 0}
_isAlignment: 0
_isShowBounds: 1
--- !u!4 &146114443
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 146114441}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -25.5229073, y: -6.51839638, z: 50.5}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1804814872}
m_Father: {fileID: 0}
m_RootOrder: 6
--- !u!1 &600542277
GameObject:
m_ObjectHideFlags: 0
@@ -186,7 +348,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_RootOrder: 5
--- !u!1001 &854583122
Prefab:
m_ObjectHideFlags: 0
@@ -204,115 +366,7 @@ Prefab:
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.z
value: 25.75
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Visited
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_Name
value: Cube_1x1x1 (1)
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.y
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
m_IsPrefabParent: 0
--- !u!1001 &1347240948
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalPosition.x
value: 16
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalPosition.y
value: 8
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalPosition.z
value: 75.25
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: Visited
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: _position.x
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
m_IsPrefabParent: 0
--- !u!1001 &1843868497
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.x
value: 16
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.y
value: -8
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.z
value: 1
value: 67
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.x
@@ -342,9 +396,330 @@ Prefab:
propertyPath: _position.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 117528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_Name
value: Cube_1x1x1 (1)
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.y
value: -1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Moved
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Bounds.m_Center.z
value: 60.3999977
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: InternalMoved
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MinSector.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MinSector.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MaxSector.x
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MaxSector.y
value: 3
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MaxSector.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: InternalVisited
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _isShowBounds
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
m_IsPrefabParent: 0
--- !u!1001 &1347240948
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalPosition.x
value: 48
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalPosition.y
value: -8
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalPosition.z
value: 17.5
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: Visited
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: _position.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: Moved
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: MinSector.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: MinSector.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: MaxSector.x
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: MaxSector.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: MaxSector.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: _position.y
value: -2
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: _isAlignment
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: Bounds.m_Center.x
value: 67.8926849
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: Bounds.m_Center.y
value: 24.7313995
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: Bounds.m_Center.z
value: 20.7999992
objectReference: {fileID: 0}
- target: {fileID: 11463702, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
propertyPath: InternalMoved
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: 6dac6372d911f0646a34e2e83f03c30c, type: 2}
m_IsPrefabParent: 0
--- !u!1 &1804814871
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 4
m_Component:
- 4: {fileID: 1804814872}
- 33: {fileID: 1804814875}
- 65: {fileID: 1804814874}
- 23: {fileID: 1804814873}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1804814872
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1804814871}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -.200000003, y: 29.1000004, z: 0}
m_LocalScale: {x: 10, y: 50, z: 1}
m_Children: []
m_Father: {fileID: 146114443}
m_RootOrder: 0
--- !u!23 &1804814873
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1804814871}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_SubsetIndices:
m_StaticBatchRoot: {fileID: 0}
m_UseLightProbes: 1
m_ReflectionProbeUsage: 1
m_ProbeAnchor: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_ImportantGI: 0
m_AutoUVMaxDistance: .5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingOrder: 0
--- !u!65 &1804814874
BoxCollider:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1804814871}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!33 &1804814875
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1804814871}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1001 &1843868497
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.x
value: 16
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.y
value: 8
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.z
value: 83.5
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_RootOrder
value: 4
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Visited
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _position.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Moved
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MaxSector.x
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MaxSector.y
value: 3
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MaxSector.z
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MinSector.y
value: 2
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _isShowBounds
value: 0
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: _isAlignment
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: MinSector.x
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Bounds.m_Center.x
value: 17.1297264
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Bounds.m_Center.y
value: 27.4235382
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Bounds.m_Center.z
value: 80.1999969
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Bounds.m_Extent.y
value: 15.999999
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: InternalMoved
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
@@ -366,7 +741,7 @@ Prefab:
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalPosition.z
value: 50.5
value: 34
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_LocalRotation.x
@@ -386,7 +761,7 @@ Prefab:
objectReference: {fileID: 0}
- target: {fileID: 417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: m_RootOrder
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Visited
@@ -404,6 +779,22 @@ Prefab:
propertyPath: _position.y
value: -1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Moved
value: 1
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Bounds.m_Center.x
value: 32
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: Bounds.m_Center.z
value: 40.5999985
objectReference: {fileID: 0}
- target: {fileID: 11417528, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
propertyPath: InternalMoved
value: 1
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: c1b9b2ad3a021c549aa9190df3101248, type: 2}
m_IsPrefabParent: 0

View File

@@ -9,13 +9,6 @@ namespace IsoTools {
[ExecuteInEditMode, DisallowMultipleComponent]
public class IsoObject : MonoBehaviour {
public bool Visited = false;
public bool Moved = false;
public Vector3 MinSector = Vector3.zero;
public Vector3 MaxSector = Vector3.zero;
public HashSet<IsoObject> SelfDepends = new HashSet<IsoObject>();
public HashSet<IsoObject> TheirDepends = new HashSet<IsoObject>();
// ------------------------------------------------------------------------
//
// size
@@ -142,6 +135,35 @@ namespace IsoTools {
get { return new Vector2(tilePositionX, tilePositionZ); }
}
// ------------------------------------------------------------------------
//
// bounds
//
// ------------------------------------------------------------------------
Bounds _bounds = new Bounds();
public Bounds bounds {
get { return _bounds; }
}
// ------------------------------------------------------------------------
//
// internal
//
// ------------------------------------------------------------------------
public class InternalState {
public bool Moved = false;
public bool Visited = false;
public Vector3 MinSector = Vector3.zero;
public Vector3 MaxSector = Vector3.zero;
public HashSet<IsoObject> SelfDepends = new HashSet<IsoObject>();
public HashSet<IsoObject> TheirDepends = new HashSet<IsoObject>();
}
public InternalState Internal = new InternalState();
// ------------------------------------------------------------------------
//
// For editor
@@ -191,6 +213,7 @@ namespace IsoTools {
transform.position = IsoUtils.Vec3ChangeZ(
isoWorld.IsoToScreen(position),
transform.position.z);
_bounds = IsoUtils.GetIsoObjectBounds(isoWorld, this);
}
FixLastProperties();
MartDirtyIsoWorld();

View File

@@ -56,7 +56,7 @@ namespace IsoTools {
}
public static float Vec3MinF(Vector3 v) {
return Mathf.Min(v.x, v.y, v.z);
return Mathf.Min(Mathf.Min(v.x, v.y), v.z);
}
public static Vector2 Vec2Min(Vector2 a, Vector2 b) {
@@ -81,7 +81,7 @@ namespace IsoTools {
}
public static float Vec3MaxF(Vector3 v) {
return Mathf.Max(v.x, v.y, v.z);
return Mathf.Max(Mathf.Max(v.x, v.y), v.z);
}
public static Vector2 Vec2Max(Vector2 a, Vector2 b) {
@@ -382,6 +382,21 @@ namespace IsoTools {
: obj.AddComponent<T>();
}
public static Bounds GetIsoObjectBounds(IsoWorld iso_world, IsoObject iso_object) {
if ( iso_world ) {
var z = iso_object.transform.position.z;
var b = iso_world.IsoToScreen(iso_object.position);
var t = iso_world.IsoToScreen(iso_object.position + iso_object.size);
var l = iso_world.IsoToScreen(iso_object.position + Vec3FromY(iso_object.sizeY));
var r = iso_world.IsoToScreen(iso_object.position + Vec3FromX(iso_object.sizeX));
return new Bounds(
new Vector3((r.x + l.x) * 0.5f, (t.y + b.y) * 0.5f, z),
new Vector3(r.x - l.x, t.y - b.y, iso_world.tileSize));
} else {
return new Bounds();
}
}
public static IsoCollider IsoConvertCollider(Collider collider) {
var fake_collider = collider ? collider.GetComponent<IsoFakeCollider>() : null;
return fake_collider ? fake_collider.isoCollider : null;

View File

@@ -6,23 +6,24 @@ using UnityEditor;
#endif
namespace IsoTools {
[ExecuteInEditMode, DisallowMultipleComponent]
public class IsoWorld : MonoBehaviour {
bool _dirty = true;
HashSet<IsoObject> _objects = new HashSet<IsoObject>();
HashSet<IsoObject> _visibles = new HashSet<IsoObject>();
HashSet<IsoObject> _isoObjects = new HashSet<IsoObject>();
HashSet<IsoObject> _oldVisibles = new HashSet<IsoObject>();
class SectorInfo {
public List<IsoObject> objects = new List<IsoObject>();
}
List<SectorInfo> _sectors = new List<SectorInfo>();
float _objsSectorSize = 0.0f;
Vector3 _objsMinNumPos = Vector3.zero;
Vector3 _objsMaxNumPos = Vector3.zero;
Vector3 _objsNumPosCount = Vector3.zero;
Stack<SectorInfo> _sectorsPool = new Stack<SectorInfo>();
float _sectorsSize = 0.0f;
Vector3 _sectorsMinNumPos = Vector3.zero;
Vector3 _sectorsMaxNumPos = Vector3.zero;
Vector3 _sectorsNumPosCount = Vector3.zero;
// ------------------------------------------------------------------------
//
@@ -67,8 +68,8 @@ namespace IsoTools {
public void MarkDirty(IsoObject iso_object) {
if ( iso_object && _visibles.Contains(iso_object) ) {
iso_object.Internal.Moved = true;
MarkDirty();
iso_object.Moved = true;
}
}
@@ -91,13 +92,12 @@ namespace IsoTools {
iso_z);
}
public void AddIsoObject(IsoObject iso_object) {
_isoObjects.Add(iso_object);
_objects.Add(iso_object);
}
public void RemoveIsoObject(IsoObject iso_object) {
_isoObjects.Remove(iso_object);
_objects.Remove(iso_object);
}
// ------------------------------------------------------------------------
@@ -106,25 +106,6 @@ namespace IsoTools {
//
// ------------------------------------------------------------------------
bool IsGameObjectVisible(GameObject obj) {
var renderer = obj.GetComponent<Renderer>();
if ( renderer && renderer.isVisible ) {
return true;
}
var obj_transform = obj.transform;
for ( var i = 0; i < obj_transform.childCount; ++i ) {
var child_obj = obj_transform.GetChild(i).gameObject;
if ( IsGameObjectVisible(child_obj) ) {
return true;
}
}
return false;
}
bool IsIsoObjectVisible(IsoObject iso_object) {
return IsGameObjectVisible(iso_object.gameObject);
}
void MarkEditorWorldDirty() {
#if UNITY_EDITOR
EditorUtility.SetDirty(this);
@@ -132,8 +113,9 @@ namespace IsoTools {
}
void FixAllTransforms() {
foreach ( var iso_object in _isoObjects ) {
iso_object.FixTransform();
var objects_iter = _objects.GetEnumerator();
while ( objects_iter.MoveNext() ) {
objects_iter.Current.FixTransform();
}
}
@@ -142,7 +124,13 @@ namespace IsoTools {
FixAllTransforms();
}
bool IsDepends(Vector3 a_min, Vector3 a_size, Vector3 b_min, Vector3 b_size) {
bool IsIsoObjectVisible(IsoObject iso_object, Plane[] planes) {
return planes != null && planes.Length > 0
? GeometryUtility.TestPlanesAABB(planes, iso_object.bounds)
: false;
}
bool IsIsoObjectDepends(Vector3 a_min, Vector3 a_size, Vector3 b_min, Vector3 b_size) {
var a_max = a_min + a_size;
var b_max = b_min + b_size;
var a_yesno = a_max.x > b_min.x && a_max.y > b_min.y && b_max.z > a_min.z;
@@ -162,69 +150,29 @@ namespace IsoTools {
return a_yesno;
}
bool IsDepends(IsoObject a, IsoObject b) {
return IsDepends(a.position, a.size, b.position, b.size);
bool IsIsoObjectDepends(IsoObject a, IsoObject b) {
return IsIsoObjectDepends(a.position, a.size, b.position, b.size);
}
/*
void CheckAlives() {
var new_visibles = new HashSet<IsoObject>();
var new_objects = new List<IsoObject>();
foreach ( var iso_object in _isoObjects ) {
if ( IsIsoObjectVisible(iso_object) ) {
new_visibles.Add(iso_object);
if ( !_visibles.Contains(iso_object) ) {
new_objects.Add(iso_object);
}
}
}
if ( !_visibles.IsSupersetOf(new_visibles) ) {
MarkDirty();
}
_visibles = new_visibles;
Debug.LogFormat("AllObjects: {0}, Visibles: {1}", _isoObjects.Count, _visibles.Count);
void PushSectorPool(SectorInfo sector) {
sector.objects.Clear();
_sectorsPool.Push(sector);
}
void SetupObjects() {
_objects.Clear();
foreach ( var obj in _visibles ) {
_objects.Add(obj);
SectorInfo PopSectorPool() {
return _sectorsPool.Count > 0
? _sectorsPool.Pop()
: new SectorInfo();
}
}
void SetupObjectDepends(IsoObject obj_ao) {
obj_ao.Visited = false;
obj_ao.Depends.Clear();
for ( var obj_bi = 0; obj_bi < _objects.Count; ++obj_bi ) {
var obj_bo = _objects[obj_bi];
if ( obj_ao != obj_bo && IsDepends(obj_ao.position, obj_ao.size, obj_bo.position, obj_bo.size) ) {
obj_ao.Depends.Add(obj_bi);
}
}
}
void SetupAllObjectDepends() {
foreach ( var obj_ao in _objects ) {
obj_ao.Visited = false;
obj_ao.Depends.Clear();
for ( var obj_bi = 0; obj_bi < _objects.Count; ++obj_bi ) {
var obj_bo = _objects[obj_bi];
if ( obj_ao != obj_bo && IsDepends(obj_ao.position, obj_ao.size, obj_bo.position, obj_bo.size) ) {
obj_ao.Depends.Add(obj_bi);
}
}
}
}
*/
int SectorIndex(Vector3 num_pos) {
return Mathf.FloorToInt(
num_pos.x + _objsNumPosCount.x * (num_pos.y + num_pos.z * _objsNumPosCount.y));
num_pos.x + _sectorsNumPosCount.x * (num_pos.y + num_pos.z * _sectorsNumPosCount.y));
}
Vector3 SectorNumPos(int index) {
var mz = _objsNumPosCount.x * _objsNumPosCount.y;
var my = _objsNumPosCount.x;
var mz = _sectorsNumPosCount.x * _sectorsNumPosCount.y;
var my = _sectorsNumPosCount.x;
var vz = Mathf.FloorToInt(index / mz);
var vy = Mathf.FloorToInt((index - vz * mz) / my);
var vx = Mathf.FloorToInt(index - vz * mz - vy * my);
@@ -235,7 +183,7 @@ namespace IsoTools {
if ( num_pos.x < 0 || num_pos.y < 0 || num_pos.z < 0 ) {
return null;
}
if ( num_pos.x >= _objsNumPosCount.x || num_pos.y >= _objsNumPosCount.y || num_pos.z >= _objsNumPosCount.z ) {
if ( num_pos.x >= _sectorsNumPosCount.x || num_pos.y >= _sectorsNumPosCount.y || num_pos.z >= _sectorsNumPosCount.z ) {
return null;
}
return _sectors[SectorIndex(num_pos)];
@@ -251,7 +199,7 @@ namespace IsoTools {
if ( s1 != null ) act(s1);
if ( s2 != null ) act(s2);
if ( s3 != null ) act(s3);
for ( var i = 0; i <= _objsNumPosCount.z; ++i ) {
for ( var i = 0; i <= _sectorsNumPosCount.z; ++i ) {
var ss1 = FindSector(num_pos + new Vector3( 0 - i, 0 - i, i + 1));
var ss2 = FindSector(num_pos + new Vector3(-1 - i, 0 - i, i + 1));
var ss3 = FindSector(num_pos + new Vector3( 0 - i, -1 - i, i + 1));
@@ -280,7 +228,7 @@ namespace IsoTools {
if ( s1 != null ) act(s1);
if ( s2 != null ) act(s2);
if ( s3 != null ) act(s3);
for ( var i = 0; i <= _objsNumPosCount.z; ++i ) {
for ( var i = 0; i <= _sectorsNumPosCount.z; ++i ) {
var ss1 = FindSector(num_pos + new Vector3( 0 + i, 0 + i, -i - 1));
var ss2 = FindSector(num_pos + new Vector3( 1 + i, 0 + i, -i - 1));
var ss3 = FindSector(num_pos + new Vector3( 0 + i, 1 + i, -i - 1));
@@ -300,202 +248,201 @@ namespace IsoTools {
}
void SetupSectorSize() {
_objsSectorSize = 0.0f;
var objsSum = 0;
foreach ( var obj in _visibles ) {
++objsSum;
_objsSectorSize += IsoUtils.Vec3MaxF(obj.size);
_sectorsSize = 0.0f;
var visibles_iter = _visibles.GetEnumerator();
while ( visibles_iter.MoveNext() ) {
_sectorsSize += IsoUtils.Vec3MaxF(visibles_iter.Current.size);
}
_objsSectorSize = Mathf.Round(Mathf.Max(3.0f, _objsSectorSize / objsSum));
_sectorsSize = Mathf.Round(Mathf.Max(3.0f, _sectorsSize / _visibles.Count));
}
void SetupObjects() {
_objsMinNumPos = Vector3.zero;
_objsMaxNumPos = Vector3.one;
foreach ( var obj in _visibles ) {
var max_size = IsoUtils.Vec3Max(Vector3.one, obj.size);
var min_npos = IsoUtils.Vec3DivFloor(obj.position, _objsSectorSize);
var max_npos = IsoUtils.Vec3DivCeil(obj.position + max_size, _objsSectorSize);
_objsMinNumPos = IsoUtils.Vec3Min(_objsMinNumPos, min_npos);
_objsMaxNumPos = IsoUtils.Vec3Max(_objsMaxNumPos, max_npos);
obj.MinSector = min_npos;
obj.MaxSector = max_npos;
void SetupObjectsSectors() {
_sectorsMinNumPos = Vector3.zero;
_sectorsMaxNumPos = Vector3.one;
var visibles_iter = _visibles.GetEnumerator();
while ( visibles_iter.MoveNext() ) {
var iso_object = visibles_iter.Current;
var max_size = IsoUtils.Vec3Max(Vector3.one, iso_object.size);
var min_npos = IsoUtils.Vec3DivFloor(iso_object.position, _sectorsSize);
var max_npos = IsoUtils.Vec3DivCeil(iso_object.position + max_size, _sectorsSize);
_sectorsMinNumPos = IsoUtils.Vec3Min(_sectorsMinNumPos, min_npos);
_sectorsMaxNumPos = IsoUtils.Vec3Max(_sectorsMaxNumPos, max_npos);
iso_object.Internal.MinSector = min_npos;
iso_object.Internal.MaxSector = max_npos;
}
_sectorsNumPosCount = _sectorsMaxNumPos - _sectorsMinNumPos;
}
void ClearSectors() {
var sectors_iter = _sectors.GetEnumerator();
while ( sectors_iter.MoveNext() ) {
PushSectorPool(sectors_iter.Current);
}
_sectors.Clear();
}
void ResizeSectors(int count) {
_sectors.Capacity = count;
while ( _sectors.Count < _sectors.Capacity ) {
var sector = PopSectorPool();
_sectors.Add(sector);
}
}
void TuneSectors() {
var visibles_iter = _visibles.GetEnumerator();
while ( visibles_iter.MoveNext() ) {
var iso_object = visibles_iter.Current;
iso_object.Internal.MinSector -= _sectorsMinNumPos;
iso_object.Internal.MaxSector -= _sectorsMinNumPos;
/*
IsoUtils.LookUpCube(iso_object.Internal.MinSector, iso_object.Internal.MaxSector, p => {
var sector = FindSector(p);
if ( sector != null ) {
sector.objects.Add(iso_object);
}
});*/
var min = iso_object.Internal.MinSector;
var max = iso_object.Internal.MaxSector;
for ( var z = min.z; z < max.z; ++z ) {
for ( var y = min.y; y < max.y; ++y ) {
for ( var x = min.x; x < max.x; ++x ) {
var sector = FindSector(new Vector3(x, y, z));
if ( sector != null ) {
sector.objects.Add(iso_object);
}
}}}
}
_objsNumPosCount = _objsMaxNumPos - _objsMinNumPos;
}
void SetupSectors() {
_sectors.Clear();
_sectors.Capacity = Mathf.FloorToInt(_objsNumPosCount.x * _objsNumPosCount.y * _objsNumPosCount.z);
while ( _sectors.Count < _sectors.Capacity ) {
_sectors.Add(new SectorInfo());
}
foreach ( var obj in _visibles ) {
obj.MinSector -= _objsMinNumPos;
obj.MaxSector -= _objsMinNumPos;
IsoUtils.LookUpCube(obj.MinSector, obj.MaxSector, p => {
var sector = FindSector(p);
if ( sector != null ) {
sector.objects.Add(obj);
}
});
}
}
/// <summary>
///
/// </summary>
float t_up = 0.0f;
float t_pl = 0.0f;
void OnGUI() {
GUILayout.Label("UpdateVisibles : " + (t_up * 1000).ToString());
GUILayout.Label("PlaceAllVisibles: " + (t_pl * 1000).ToString());
ClearSectors();
ResizeSectors(Mathf.FloorToInt(_sectorsNumPosCount.x * _sectorsNumPosCount.y * _sectorsNumPosCount.z));
TuneSectors();
}
void StepSort() {
var s_up = Time.realtimeSinceStartup;
UpdateVisibles();
var e_up = Time.realtimeSinceStartup;
t_up = e_up - s_up;
if ( _dirty ) {
var s_pl = Time.realtimeSinceStartup;
PlaceAllVisibles();
var e_pl = Time.realtimeSinceStartup;
t_pl = e_pl - s_pl;
_dirty = false;
}
}
void UpdateVisibles() {
var old_all_visibles = _visibles;
var new_all_visibles = CalculateAllVisibles();
_visibles = new_all_visibles;
CalculateNewVisibles();
SetupSectorSize();
SetupObjects();
SetupObjectsSectors();
SetupSectors();
var new_missings = new HashSet<IsoObject>(old_all_visibles);
new_missings.ExceptWith(new_all_visibles);
if ( new_missings.Count > 0 ) {
var new_count = 0;
var visibles_iter = _visibles.GetEnumerator();
while ( visibles_iter.MoveNext() ) {
var iso_object = visibles_iter.Current;
if ( iso_object.Internal.Moved || !_oldVisibles.Contains(iso_object) ) {
MarkDirty();
SetupIsoObjectDepends(iso_object);
iso_object.Internal.Moved = false;
++new_count;
}
}
var old_count = 0;
var old_visibles_iter = _oldVisibles.GetEnumerator();
while ( old_visibles_iter.MoveNext() ) {
var iso_object = old_visibles_iter.Current;
if ( !_visibles.Contains(iso_object) ) {
MarkDirty();
foreach ( var iso_object in new_missings ) {
ClearIsoObjectDepends(iso_object);
++old_count;
}
}
var new_visibles = new HashSet<IsoObject>(new_all_visibles);
new_visibles.ExceptWith(old_all_visibles);
if ( new_visibles.Count > 0 ) {
MarkDirty();
foreach ( var iso_object in new_visibles ) {
SetupIsoObjectDepends(iso_object);
if ( new_count > 0 || old_count > 0 ) {
/*Debug.LogFormat(
"New or moved: {0}, Missings: {1}, Visibles: {2}, All: {3}",
new_count, old_count, _visibles.Count, _objects.Count);*/
}
}
foreach ( var iso_object in _visibles ) {
if ( iso_object.Moved ) {
SetupIsoObjectDepends(iso_object);
iso_object.Moved = false;
void CalculateNewVisibles() {
var planes = Camera.current ? GeometryUtility.CalculateFrustumPlanes(Camera.current) : null;
_oldVisibles.Clear();
var objects_iter = _objects.GetEnumerator();
while ( objects_iter.MoveNext() ) {
var iso_object = objects_iter.Current;
if ( IsIsoObjectVisible(iso_object, planes) ) {
iso_object.Internal.Visited = false;
_oldVisibles.Add(iso_object);
}
}
/*
Debug.LogFormat(
"New: {0}, Missings: {1}, Visibles: {2}, All: {3}",
new_visibles.Count, new_missings.Count, _visibles.Count, _isoObjects.Count);*/
}
HashSet<IsoObject> CalculateAllVisibles() {
var all_visibles = new HashSet<IsoObject>();
foreach ( var iso_object in _isoObjects ) {
if ( IsIsoObjectVisible(iso_object) ) {
iso_object.Visited = false;
all_visibles.Add(iso_object);
}
}
return all_visibles;
var old_visibles = _visibles;
_visibles = _oldVisibles;
_oldVisibles = old_visibles;
}
void ClearIsoObjectDepends(IsoObject iso_object) {
foreach ( var other_iso_object in iso_object.TheirDepends ) {
other_iso_object.SelfDepends.Remove(iso_object);
var their_depends_iter = iso_object.Internal.TheirDepends.GetEnumerator();
while ( their_depends_iter.MoveNext() ) {
their_depends_iter.Current.Internal.SelfDepends.Remove(iso_object);
}
iso_object.SelfDepends.Clear();
iso_object.TheirDepends.Clear();
iso_object.Internal.SelfDepends.Clear();
iso_object.Internal.TheirDepends.Clear();
}
/*
void SetupIsoObjectDepends(IsoObject iso_object) {
ClearIsoObjectDepends(iso_object);
foreach ( var other_iso_object in _visibles ) {
if ( iso_object != other_iso_object ) {
if ( IsDepends(iso_object, other_iso_object) ) {
iso_object.SelfDepends.Add(other_iso_object);
other_iso_object.TheirDepends.Add(iso_object);
}
if ( IsDepends(other_iso_object, iso_object) ) {
other_iso_object.SelfDepends.Add(iso_object);
iso_object.TheirDepends.Add(other_iso_object);
}
}
}
}*/
void SetupIsoObjectDepends(IsoObject obj_a) {
ClearIsoObjectDepends(obj_a);
IsoUtils.LookUpCube(obj_a.MinSector, obj_a.MaxSector, num_pos => {
LookUpSectorDepends(num_pos, sec => {
foreach ( var obj_b in sec.objects ) {
if ( obj_a != obj_b && IsDepends(obj_a, obj_b) ) {
obj_a.SelfDepends.Add(obj_b);
obj_b.TheirDepends.Add(obj_a);
var min = obj_a.Internal.MinSector;
var max = obj_a.Internal.MaxSector;
for ( var z = min.z; z < max.z; ++z ) {
for ( var y = min.y; y < max.y; ++y ) {
for ( var x = min.x; x < max.x; ++x ) {
LookUpSectorDepends(new Vector3(x, y, z), sec => {
var sec_objects_iter = sec.objects.GetEnumerator();
while ( sec_objects_iter.MoveNext() ) {
var obj_b = sec_objects_iter.Current;
if ( obj_a != obj_b && IsIsoObjectDepends(obj_a, obj_b) ) {
obj_a.Internal.SelfDepends.Add(obj_b);
obj_b.Internal.TheirDepends.Add(obj_a);
}
}
});
});
/*
foreach ( var obj_b in _visibles ) {
if ( obj_a != obj_b ) {
if ( IsDepends(obj_b, obj_a) ) {
obj_b.SelfDepends.Add(obj_a);
obj_a.TheirDepends.Add(obj_b);
}
}
}*/
IsoUtils.LookUpCube(obj_a.MinSector, obj_a.MaxSector, num_pos => {
LookUpSectorRDepends(num_pos, sec => {
foreach ( var obj_b in sec.objects ) {
if ( obj_a != obj_b && IsDepends(obj_b, obj_a) ) {
obj_b.SelfDepends.Add(obj_a);
obj_a.TheirDepends.Add(obj_b);
}}}
for ( var z = min.z; z < max.z; ++z ) {
for ( var y = min.y; y < max.y; ++y ) {
for ( var x = min.x; x < max.x; ++x ) {
LookUpSectorRDepends(new Vector3(x, y, z), sec => {
var sec_objects_iter = sec.objects.GetEnumerator();
while ( sec_objects_iter.MoveNext() ) {
var obj_b = sec_objects_iter.Current;
if ( obj_a != obj_b && IsIsoObjectDepends(obj_b, obj_a) ) {
obj_b.Internal.SelfDepends.Add(obj_a);
obj_a.Internal.TheirDepends.Add(obj_b);
}
}
});
});
}}}
}
int place_num = 0;
void PlaceAllVisibles() {
place_num = 0;
var depth = minDepth;
foreach ( var iso_object in _visibles ) {
depth = RecursivePlaceIsoObject(iso_object, depth);
var visibles_iter = _visibles.GetEnumerator();
while ( visibles_iter.MoveNext() ) {
depth = RecursivePlaceIsoObject(visibles_iter.Current, depth);
}
//Debug.LogFormat("Place: {0}, All: {1}", _visibles.Count, _isoObjects.Count);
//Debug.LogFormat("PlaceNum: {0}", place_num);
}
float RecursivePlaceIsoObject(IsoObject iso_object, float depth) {
++place_num;
if ( iso_object.Visited ) {
if ( iso_object.Internal.Visited ) {
return depth;
}
iso_object.Visited = true;
foreach ( var depend in iso_object.SelfDepends ) {
depth = RecursivePlaceIsoObject(depend, depth);
iso_object.Internal.Visited = true;
var self_depends_iter = iso_object.Internal.SelfDepends.GetEnumerator();
while ( self_depends_iter.MoveNext() ) {
depth = RecursivePlaceIsoObject(self_depends_iter.Current, depth);
}
PlaceIsoObject(iso_object, depth);
return depth + (maxDepth - minDepth) / _visibles.Count;
@@ -522,14 +469,16 @@ namespace IsoTools {
}
void OnEnable() {
_objects = new HashSet<IsoObject>(FindObjectsOfType<IsoObject>());
_visibles.Clear();
_isoObjects = new HashSet<IsoObject>(FindObjectsOfType<IsoObject>());
_sectors.Clear();
MarkDirty();
}
void OnDisable() {
_objects.Clear();
_visibles.Clear();
_isoObjects.Clear();
_sectors.Clear();
}
#if UNITY_EDITOR

View File

@@ -1,9 +1,10 @@
<Properties>
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" PreferredExecutionTarget="MonoDevelop.Default" />
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
<MonoDevelop.Ide.Workbench ActiveDocument="Assets/IsoTools/Scripts/IsoWorld.cs">
<Files>
<File FileName="Assets/IsoTools/Scripts/IsoWorld.cs" Line="254" Column="51" />
<File FileName="Assets/IsoTools/Scripts/IsoObject.cs" Line="13" Column="54" />
<File FileName="Assets/IsoTools/Scripts/IsoWorld.cs" Line="307" Column="19" />
<File FileName="Assets/IsoTools/Scripts/IsoObject.cs" Line="14" Column="15" />
<File FileName="Assets/IsoTools/Scripts/IsoUtils.cs" Line="398" Column="4" />
</Files>
</MonoDevelop.Ide.Workbench>
<MonoDevelop.Ide.DebuggingService.Breakpoints>