mirror of
https://github.com/BlackMATov/unity-iso-tools.git
synced 2025-12-15 01:12:05 +07:00
sorting visible only
This commit is contained in:
@@ -20,6 +20,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -30,6 +33,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -43,5 +47,7 @@ TextureImporter:
|
||||
buildTargetSettings: []
|
||||
spriteSheet:
|
||||
sprites: []
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@@ -20,6 +20,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -30,6 +33,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -43,5 +47,7 @@ TextureImporter:
|
||||
buildTargetSettings: []
|
||||
spriteSheet:
|
||||
sprites: []
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@@ -20,6 +20,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -30,6 +33,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -43,5 +47,7 @@ TextureImporter:
|
||||
buildTargetSettings: []
|
||||
spriteSheet:
|
||||
sprites: []
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@@ -20,6 +20,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -30,6 +33,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -43,5 +47,7 @@ TextureImporter:
|
||||
buildTargetSettings: []
|
||||
spriteSheet:
|
||||
sprites: []
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@@ -21,6 +21,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -31,6 +34,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -54,5 +58,7 @@ TextureImporter:
|
||||
alignment: 9
|
||||
pivot: {x: .5, y: .5}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@@ -20,6 +20,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -30,6 +33,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -43,5 +47,7 @@ TextureImporter:
|
||||
buildTargetSettings: []
|
||||
spriteSheet:
|
||||
sprites: []
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@@ -21,6 +21,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -31,6 +34,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -54,5 +58,7 @@ TextureImporter:
|
||||
alignment: 9
|
||||
pivot: {x: .485000014, y: .254999995}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@@ -21,6 +21,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -31,6 +34,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -54,5 +58,7 @@ TextureImporter:
|
||||
alignment: 9
|
||||
pivot: {x: .485000014, y: .254999995}
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@@ -20,6 +20,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -30,6 +33,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -43,5 +47,7 @@ TextureImporter:
|
||||
buildTargetSettings: []
|
||||
spriteSheet:
|
||||
sprites: []
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
@@ -20,6 +20,9 @@ TextureImporter:
|
||||
isReadable: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 0
|
||||
cubemapConvolution: 0
|
||||
cubemapConvolutionSteps: 8
|
||||
cubemapConvolutionExponent: 1.5
|
||||
seamlessCubemap: 0
|
||||
textureFormat: -3
|
||||
maxTextureSize: 1024
|
||||
@@ -30,6 +33,7 @@ TextureImporter:
|
||||
wrapMode: 1
|
||||
nPOTScale: 0
|
||||
lightmap: 0
|
||||
rGBM: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 1
|
||||
spriteExtrude: 1
|
||||
@@ -43,5 +47,7 @@ TextureImporter:
|
||||
buildTargetSettings: []
|
||||
spriteSheet:
|
||||
sprites: []
|
||||
spritePackingTag:
|
||||
spritePackingTag: objs
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -137,6 +137,10 @@ namespace IsoTools {
|
||||
MartDirtyIsoWorld();
|
||||
}
|
||||
|
||||
void OnBecameVisible() {
|
||||
MartDirtyIsoWorld();
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
void Update() {
|
||||
if ( Application.isEditor ) {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace IsoTools {
|
||||
public class IsoUtils {
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
using UnityEngine;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
#endif
|
||||
|
||||
namespace IsoTools {
|
||||
[ExecuteInEditMode]
|
||||
public class IsoWorld : MonoBehaviour {
|
||||
@@ -118,17 +121,22 @@ namespace IsoTools {
|
||||
// ------------------------------------------------------------------------
|
||||
public void MarkDirty() {
|
||||
_dirty = true;
|
||||
MarkEditorWorldDirty();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Marks world for resorting one object only
|
||||
/// Marks world for resorting.
|
||||
/// </summary>
|
||||
/// <param name="obj">Isometric object for resorting.</param>
|
||||
// ------------------------------------------------------------------------
|
||||
public void MarkDirty(IsoObject obj) {
|
||||
if ( obj && obj.Sorting ) {
|
||||
_dirty = true;
|
||||
var renderer = obj.GetComponent<Renderer>();
|
||||
if ( renderer && renderer.isVisible ) {
|
||||
_dirty = true;
|
||||
MarkEditorWorldDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -202,6 +210,14 @@ namespace IsoTools {
|
||||
throw new UnityException("IsoWorld. TileType is wrong!");
|
||||
}
|
||||
}
|
||||
|
||||
void MarkEditorWorldDirty() {
|
||||
#if UNITY_EDITOR
|
||||
if ( Application.isEditor ) {
|
||||
EditorUtility.SetDirty(this);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void FixAllTransforms() {
|
||||
ApplyToAllIsoObjects(obj => obj.FixTransform());
|
||||
@@ -254,15 +270,18 @@ namespace IsoTools {
|
||||
_objects.Clear();
|
||||
_objects.Capacity = iso_objects.Length;
|
||||
|
||||
Vector3 min_num_pos = -Vector3.one;
|
||||
Vector3 max_num_pos = Vector3.one;
|
||||
var min_num_pos = Vector3.zero;
|
||||
var max_num_pos = Vector3.one;
|
||||
foreach ( var obj in iso_objects ) {
|
||||
var obj_max_size = IsoUtils.Vec3Max(Vector3.one, obj.Size);
|
||||
var obj_min_num_pos = IsoUtils.Vec3DivFloor(obj.Position, SectorSize);
|
||||
var obj_max_num_pos = IsoUtils.Vec3DivCeil(obj.Position + obj_max_size, SectorSize);
|
||||
min_num_pos = IsoUtils.Vec3Min(min_num_pos, obj_min_num_pos);
|
||||
max_num_pos = IsoUtils.Vec3Max(max_num_pos, obj_max_num_pos);
|
||||
_objects.Add(new ObjectInfo(_objects.Count, obj, obj_min_num_pos, obj_max_num_pos));
|
||||
var renderer = obj.GetComponent<Renderer>();
|
||||
if ( renderer && renderer.isVisible ) {
|
||||
var obj_max_size = IsoUtils.Vec3Max(Vector3.one, obj.Size);
|
||||
var obj_min_num_pos = IsoUtils.Vec3DivFloor(obj.Position, SectorSize);
|
||||
var obj_max_num_pos = IsoUtils.Vec3DivCeil(obj.Position + obj_max_size, SectorSize);
|
||||
min_num_pos = IsoUtils.Vec3Min(min_num_pos, obj_min_num_pos);
|
||||
max_num_pos = IsoUtils.Vec3Max(max_num_pos, obj_max_num_pos);
|
||||
_objects.Add(new ObjectInfo(_objects.Count, obj, obj_min_num_pos, obj_max_num_pos));
|
||||
}
|
||||
}
|
||||
|
||||
_sectorsNum = max_num_pos - min_num_pos;
|
||||
@@ -327,7 +346,6 @@ namespace IsoTools {
|
||||
}
|
||||
});
|
||||
});
|
||||
//Debug.LogFormat("{0} --- {1}" , obj_a.IsoObject.Position, obj_a.EndDepend - obj_a.BeginDepend);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -342,6 +360,8 @@ namespace IsoTools {
|
||||
foreach ( var info in _objects ) {
|
||||
depth = PlaceObject(info, depth);
|
||||
}
|
||||
_objects.Clear();
|
||||
_depends.Clear();
|
||||
}
|
||||
|
||||
void PlaceObject(IsoObject obj, float depth) {
|
||||
|
||||
@@ -17,7 +17,7 @@ Global
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
StartupItem = Assembly-CSharp.csproj
|
||||
Policies = $0
|
||||
$0.TextStylePolicy = $1
|
||||
|
||||
@@ -17,7 +17,7 @@ Global
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
GlobalSection(MonoDevelopProperties) = preSolution
|
||||
StartupItem = Assembly-CSharp.csproj
|
||||
Policies = $0
|
||||
$0.TextStylePolicy = $1
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" PreferredExecutionTarget="MonoDevelop.Default" />
|
||||
<MonoDevelop.Ide.Workbench ActiveDocument="Assets/IsoTools/Scripts/IsoWorld.cs">
|
||||
<Files>
|
||||
<File FileName="Assets/IsoTools/Scripts/IsoObject.cs" Line="154" Column="9" />
|
||||
<File FileName="Assets/IsoTools/Scripts/IsoUtils.cs" Line="1" Column="1" />
|
||||
<File FileName="Assets/IsoTools/Scripts/IsoWorld.cs" Line="371" Column="5" />
|
||||
<File FileName="Assets/IsoTools/Scripts/IsoWorld.cs" Line="273" Column="37" />
|
||||
</Files>
|
||||
</MonoDevelop.Ide.Workbench>
|
||||
<MonoDevelop.Ide.DebuggingService.Breakpoints>
|
||||
|
||||
Reference in New Issue
Block a user