Fix z-index. Pull up z-index to MeshBase.
This commit is contained in:
28
Assets/Cryville/Crtr/Components/MeshBase.cs
Normal file
28
Assets/Cryville/Crtr/Components/MeshBase.cs
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Cryville.Crtr.Components {
|
||||||
|
public abstract class MeshBase : SkinComponent {
|
||||||
|
public MeshBase() {
|
||||||
|
SubmitProperty("zindex", new PropOp.Integer(v => ZIndex = (short)v));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected MeshWrapper mesh = new MeshWrapper();
|
||||||
|
|
||||||
|
short _zindex;
|
||||||
|
public short ZIndex {
|
||||||
|
get {
|
||||||
|
return _zindex;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
if (value < 0 || value > 5000)
|
||||||
|
throw new ArgumentOutOfRangeException("value", "Z-index must be in [0..5000]");
|
||||||
|
_zindex = value;
|
||||||
|
UpdateZIndex();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
protected void UpdateZIndex() {
|
||||||
|
if (!mesh.Initialized) return;
|
||||||
|
mesh.Renderer.material.renderQueue = _zindex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Cryville/Crtr/Components/MeshBase.cs.meta
Normal file
11
Assets/Cryville/Crtr/Components/MeshBase.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 75daba44e5811b943a08e6f137cc2b0c
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@@ -5,11 +5,10 @@ using System.Collections.Generic;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Cryville.Crtr.Components {
|
namespace Cryville.Crtr.Components {
|
||||||
public abstract class SectionalGameObject : SkinComponent {
|
public abstract class SectionalGameObject : MeshBase {
|
||||||
protected Vector3? prevpt;
|
protected Vector3? prevpt;
|
||||||
protected Quaternion? prevrot;
|
protected Quaternion? prevrot;
|
||||||
protected int vertCount = 0;
|
protected int vertCount = 0;
|
||||||
protected MeshWrapper mesh = new MeshWrapper();
|
|
||||||
|
|
||||||
protected override void OnDestroy() {
|
protected override void OnDestroy() {
|
||||||
mesh.Destroy();
|
mesh.Destroy();
|
||||||
|
@@ -2,14 +2,13 @@
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Cryville.Crtr.Components {
|
namespace Cryville.Crtr.Components {
|
||||||
public abstract class SpriteBase : SkinComponent {
|
public abstract class SpriteBase : MeshBase {
|
||||||
public SpriteBase() {
|
public SpriteBase() {
|
||||||
SubmitProperty("bound", new op_set_bound(this));
|
SubmitProperty("bound", new op_set_bound(this));
|
||||||
SubmitProperty("transparent", new PropOp.Boolean(v => transparent = v));
|
SubmitProperty("transparent", new PropOp.Boolean(v => transparent = v));
|
||||||
SubmitProperty("pivot", new PropOp.Vector2(v => Pivot = v));
|
SubmitProperty("pivot", new PropOp.Vector2(v => Pivot = v));
|
||||||
SubmitProperty("scale", new PropOp.Vector2(v => Scale = v));
|
SubmitProperty("scale", new PropOp.Vector2(v => Scale = v));
|
||||||
SubmitProperty("ui", new PropOp.Boolean(v => UI = v));
|
SubmitProperty("ui", new PropOp.Boolean(v => UI = v));
|
||||||
SubmitProperty("zindex", new PropOp.Integer(v => ZIndex = (short)v));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma warning disable IDE1006
|
#pragma warning disable IDE1006
|
||||||
@@ -27,8 +26,6 @@ namespace Cryville.Crtr.Components {
|
|||||||
}
|
}
|
||||||
#pragma warning restore IDE1006
|
#pragma warning restore IDE1006
|
||||||
|
|
||||||
protected MeshWrapper mesh = new MeshWrapper();
|
|
||||||
|
|
||||||
protected override void OnDestroy() {
|
protected override void OnDestroy() {
|
||||||
mesh.Destroy();
|
mesh.Destroy();
|
||||||
}
|
}
|
||||||
@@ -82,21 +79,6 @@ namespace Cryville.Crtr.Components {
|
|||||||
if (da.x != 0) _scale.x = dp.x / da.x;
|
if (da.x != 0) _scale.x = dp.x / da.x;
|
||||||
if (da.y != 0) _scale.y = dp.z / da.y;
|
if (da.y != 0) _scale.y = dp.z / da.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
short _zindex;
|
|
||||||
public short ZIndex {
|
|
||||||
get {
|
|
||||||
return _zindex;
|
|
||||||
}
|
|
||||||
set {
|
|
||||||
_zindex = value;
|
|
||||||
UpdateZIndex();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
protected void UpdateZIndex() {
|
|
||||||
if (!mesh.Initialized) return;
|
|
||||||
mesh.Renderer.sortingOrder = _zindex;
|
|
||||||
}
|
|
||||||
|
|
||||||
static readonly Quaternion uirot
|
static readonly Quaternion uirot
|
||||||
= Quaternion.Euler(new Vector3(-90, 0, 0));
|
= Quaternion.Euler(new Vector3(-90, 0, 0));
|
||||||
|
@@ -19,6 +19,7 @@ namespace Cryville.Crtr {
|
|||||||
public static void LoadDefault() {
|
public static void LoadDefault() {
|
||||||
if (loaded) return;
|
if (loaded) return;
|
||||||
Components.Add("image", typeof(SpritePlane));
|
Components.Add("image", typeof(SpritePlane));
|
||||||
|
Components.Add("mesh", typeof(MeshBase));
|
||||||
Components.Add("polysec", typeof(PolygonSGO));
|
Components.Add("polysec", typeof(PolygonSGO));
|
||||||
Components.Add("rect", typeof(SpriteRect));
|
Components.Add("rect", typeof(SpriteRect));
|
||||||
Components.Add("scale3", typeof(SpriteScale3));
|
Components.Add("scale3", typeof(SpriteScale3));
|
||||||
|
Reference in New Issue
Block a user