prev XRISEditor main
This commit is contained in:
57
Assets/Canvas_Commander.cs
Normal file
57
Assets/Canvas_Commander.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class Canvas_Commander : MonoBehaviour
|
||||
{
|
||||
public string[] commands =
|
||||
{
|
||||
"HELP",
|
||||
"WAIT",
|
||||
"CREATE",
|
||||
"COUNT",
|
||||
};
|
||||
|
||||
public TMP_InputField input;
|
||||
private void Awake()
|
||||
{
|
||||
input = GetComponentInChildren<TMP_InputField>();
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if(input.isFocused && Input.GetKeyDown(KeyCode.Return))
|
||||
{
|
||||
Command(input.text);
|
||||
input.text = "";
|
||||
}
|
||||
}
|
||||
|
||||
void Command(string args)
|
||||
{
|
||||
var commands = args.Split(' ');
|
||||
|
||||
for (int i = 0; i < commands.Length; i++)
|
||||
{
|
||||
if (!CommandCheck(commands[i]))
|
||||
{
|
||||
Debug.Log("Command not found: " + commands[i]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CommandCheck(string command)
|
||||
{
|
||||
foreach (var c in commands)
|
||||
{
|
||||
if(command == c)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
using UnityEngine;
|
||||
using WI.UI;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
public class Canvas_TwinObjectViewer : CanvasBase
|
||||
{
|
||||
public Panel_MetaViewer prf_MetaViewer;
|
||||
public Panel_KeyValueViewer prf_KeyValueViewer;
|
||||
public Panel_InfoViewer prf_InfoViewer;
|
||||
public Panel_DetailViewer prf_DetailViewer;
|
||||
public Panel_ComponentViewer prf_ComponentViewer;
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6110e0d97587ab24d82a1eeca3312e7e
|
||||
@@ -1,29 +0,0 @@
|
||||
using NUnit.Framework;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using WI;
|
||||
|
||||
namespace XED.Core
|
||||
{
|
||||
public class DataHub : MonoBehaviour, ISingle
|
||||
{
|
||||
Dictionary<string, TwinEntity> entities = new();
|
||||
public void Regist(TwinEntity to)
|
||||
{
|
||||
entities.Add(to.id, to);
|
||||
}
|
||||
|
||||
public void Subscribe(string id, TwinObject subscriber)
|
||||
{
|
||||
if(entities.TryGetValue(id, out var entity))
|
||||
{
|
||||
subscriber.Binding(entity);
|
||||
}
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b6643333da6e6dd43b3b56dfdeaa0d10
|
||||
@@ -22,7 +22,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
using UnityEngine;
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
#endif
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
|
||||
@@ -22,7 +22,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
using UnityEngine;
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
#endif
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@@ -22,7 +22,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
using UnityEngine;
|
||||
#if UNITY_EDITOR
|
||||
using UnityEditor;
|
||||
#endif
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ using UnityEngine.UI;
|
||||
using WI.UI;
|
||||
using XED.UI;
|
||||
|
||||
namespace XED.UI
|
||||
namespace XED
|
||||
{
|
||||
public class Panel_ComponentEditor : PanelBase
|
||||
{
|
||||
@@ -15,7 +15,6 @@ namespace XED.UI
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
panel_Header = GetComponentInChildren<Panel_Header>();
|
||||
panel_Header.onClickClose += Close;
|
||||
}
|
||||
public void Close()
|
||||
19
Assets/Panel_ComponentViewer.cs
Normal file
19
Assets/Panel_ComponentViewer.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class Panel_ComponentViewer : MonoBehaviour
|
||||
{
|
||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
using WI.UI;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
public class Panel_DetailViewer : PanelBase
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bc554daef6321ce4fb83761ab332dcc5
|
||||
@@ -1,8 +0,0 @@
|
||||
using WI.UI;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
public class Panel_InfoViewer : PanelBase
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a51148cd6d8617549b096cd1b4a1ca44
|
||||
@@ -1,8 +0,0 @@
|
||||
using WI.UI;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
public class Panel_KeyValueViewer : PanelBase
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b8f047bd58bbabb45bd8b4b4499941fe
|
||||
@@ -1,12 +0,0 @@
|
||||
using WI.UI;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
public class Panel_MetaViewer : PanelBase
|
||||
{
|
||||
public void Open(TwinObject to)
|
||||
{
|
||||
gameObject.SetActive(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c9ee1dcfb138d654182352faa0ed187b
|
||||
@@ -1,24 +0,0 @@
|
||||
using UnityEngine;
|
||||
using XED.Core;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class RealTruck : TwinEntity
|
||||
{
|
||||
public Transform start;
|
||||
public Transform end;
|
||||
|
||||
public float speed = 1f;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
id = "truck";
|
||||
FindFirstObjectByType<DataHub>().Regist(this);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
transform.position = Vector3.Lerp(start.position, end.position, Mathf.PingPong(Time.time * speed, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c8d736bb08efdee42815d0435df87d7e
|
||||
@@ -1,15 +1,3 @@
|
||||
### 0.19.9 02-18
|
||||
```
|
||||
1. git lfs 추가
|
||||
2. GUI Window 기능 병합
|
||||
3. 기본 에셋 목록 추가
|
||||
```
|
||||
|
||||
### 0.19.6 02-17
|
||||
```
|
||||
1. 모델링이 존재하는 TwinObject인 RenderableTwinObject 추가
|
||||
```
|
||||
|
||||
### 0.19.5 02-14
|
||||
```
|
||||
1. 프로퍼티 뷰어에 툴팁 기능 추가
|
||||
|
||||
81
Assets/Resources/TriLibSettings.asset
Normal file
81
Assets/Resources/TriLibSettings.asset
Normal file
@@ -0,0 +1,81 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f6a018f972d949340abbdf58fa667d98, type: 3}
|
||||
m_Name: TriLibSettings
|
||||
m_EditorClassIdentifier:
|
||||
_dictionaryBoolKeys:
|
||||
- StandardMaterialMapper
|
||||
- UniversalRPMaterialMapper
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
_dictionaryBoolValues: 00010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
_settingsCount: 2
|
||||
@@ -1,7 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b7f6da537ec13dc469f4020ec97c206f
|
||||
DefaultImporter:
|
||||
guid: 0d378b14d3694da419f53fa3f8ae92a4
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -812,7 +812,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -820,7 +820,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -860,11 +860,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -307
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -3248,7 +3248,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -3256,7 +3256,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -3296,11 +3296,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -77
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -4181,7 +4181,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -4189,7 +4189,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -4229,11 +4229,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -123
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -4493,7 +4493,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -4501,7 +4501,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -4541,11 +4541,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -31
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -5083,7 +5083,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -5091,7 +5091,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -5131,11 +5131,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -123
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -6218,7 +6218,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -6226,7 +6226,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -6266,11 +6266,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -215
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -7969,7 +7969,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -7977,7 +7977,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -8017,11 +8017,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -261
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -8169,7 +8169,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -8177,7 +8177,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -8217,11 +8217,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -77
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -12129,7 +12129,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -12137,7 +12137,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -12177,11 +12177,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -77
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -12842,7 +12842,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -12850,7 +12850,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -12890,11 +12890,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -169
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -14807,7 +14807,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -14815,7 +14815,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -14855,11 +14855,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -31
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -14937,7 +14937,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMax.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.x
|
||||
@@ -14945,7 +14945,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchorMin.y
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_SizeDelta.x
|
||||
@@ -14985,11 +14985,11 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.x
|
||||
value: 153.5
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_AnchoredPosition.y
|
||||
value: -31
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6291666171046911034, guid: 1bc9e043f1497cd4fbb8e241c26966c1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
@@ -15933,7 +15933,7 @@ GameObject:
|
||||
- component: {fileID: 1715748517}
|
||||
- component: {fileID: 1715748519}
|
||||
m_Layer: 5
|
||||
m_Name: Panel_TopBar
|
||||
m_Name: Panel_Header
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
@@ -16008,7 +16008,7 @@ MonoBehaviour:
|
||||
m_GameObject: {fileID: 1715748515}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: eeb29fdb1a9fc134aa57e1efd67b4848, type: 3}
|
||||
m_Script: {fileID: 11500000, guid: cb774b2f3bebecd448d68beda0137368, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1728035472
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2818b23cee4c8e64789032fcfef9e248
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -13,8 +13,6 @@ MonoBehaviour:
|
||||
m_Name: TriLibSettings
|
||||
m_EditorClassIdentifier:
|
||||
_dictionaryBoolKeys:
|
||||
- StandardMaterialMapper
|
||||
- UniversalRPMaterialMapper
|
||||
-
|
||||
-
|
||||
-
|
||||
@@ -77,5 +75,7 @@ MonoBehaviour:
|
||||
-
|
||||
-
|
||||
-
|
||||
_dictionaryBoolValues: 00010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
_settingsCount: 2
|
||||
-
|
||||
-
|
||||
_dictionaryBoolValues: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
_settingsCount: 0
|
||||
|
||||
@@ -22,8 +22,8 @@ namespace XED.UI
|
||||
|
||||
private int rot;
|
||||
private Dictionary<Vector3, Vector3> dirTable = new();
|
||||
|
||||
RenderableTwinObject target;
|
||||
|
||||
TwinObject target;
|
||||
HashSet<TwinObject> targets = new();
|
||||
public event Action onTargetEvent;
|
||||
public event Action onTargetMissing;
|
||||
@@ -43,7 +43,7 @@ namespace XED.UI
|
||||
}
|
||||
}
|
||||
|
||||
public void SetTarget(RenderableTwinObject target)
|
||||
public void SetTarget(TwinObject target)
|
||||
{
|
||||
if (target is Wall || target is WallGroup)
|
||||
return;
|
||||
|
||||
@@ -12,15 +12,15 @@ public class ObjectHandler : MonoBehaviour, ISingle
|
||||
bool onClickGround;
|
||||
bool onClickTwinObject;
|
||||
|
||||
public RenderableTwinObject heldObject;
|
||||
public RenderableTwinObject clickObject;
|
||||
public TwinObject heldObject;
|
||||
public TwinObject clickObject;
|
||||
|
||||
Dictionary<(bool, bool, bool), HandState> handleStateTable = new();
|
||||
public event Action<RenderableTwinObject> onDrop;
|
||||
public event Action<RenderableTwinObject> onSelect;
|
||||
public event Action<RenderableTwinObject> onDeselect;
|
||||
public event Action<TwinObject> onDrop;
|
||||
public event Action<TwinObject> onSelect;
|
||||
public event Action<TwinObject> onDeselect;
|
||||
|
||||
List<RenderableTwinObject> selectedObjects = new();
|
||||
List<TwinObject> selectedObjects = new();
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
@@ -40,12 +40,12 @@ public class ObjectHandler : MonoBehaviour, ISingle
|
||||
handleStateTable.Add((false, false, false), HandState.Nothing);
|
||||
}
|
||||
|
||||
public void Grab(RenderableTwinObject to)
|
||||
public void Grab(TwinObject to)
|
||||
{
|
||||
heldObject = to;
|
||||
}
|
||||
|
||||
public void Select(RenderableTwinObject to)
|
||||
public void Select(TwinObject to)
|
||||
{
|
||||
if (!to.physics.activeSelf)
|
||||
return;
|
||||
@@ -86,7 +86,7 @@ public class ObjectHandler : MonoBehaviour, ISingle
|
||||
//if (FindSingle<GizmoController>().GetGizmoHover())
|
||||
// return;
|
||||
onClickTwinObject = true;
|
||||
clickObject = comp as RenderableTwinObject;
|
||||
clickObject = comp as TwinObject;
|
||||
}
|
||||
|
||||
public void OnStayGround(RaycastHit hit, Component comp)
|
||||
@@ -168,12 +168,12 @@ public class ObjectHandler : MonoBehaviour, ISingle
|
||||
onClickTwinObject = false;
|
||||
}
|
||||
|
||||
void DeselectObject(RenderableTwinObject to)
|
||||
void DeselectObject(TwinObject to)
|
||||
{
|
||||
onDeselect?.Invoke(to);
|
||||
}
|
||||
|
||||
public void Remove(RenderableTwinObject to)
|
||||
public void Remove(TwinObject to)
|
||||
{
|
||||
if (selectedObjects.Contains(to))
|
||||
{
|
||||
|
||||
@@ -10,7 +10,7 @@ using Color = UnityEngine.Color;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class Wall : RenderableTwinObject
|
||||
public class Wall : TwinObject
|
||||
{
|
||||
public enum VertexPoint
|
||||
{
|
||||
|
||||
@@ -298,7 +298,7 @@ namespace XED
|
||||
}
|
||||
|
||||
//Material 벽 Mat 교체
|
||||
public void TargetWallMatChange(RenderableTwinObject targetWall, Material changemat)
|
||||
public void TargetWallMatChange(TwinObject targetWall, Material changemat)
|
||||
{
|
||||
targetWall.MaterialChange(changemat);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ using WI;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class WallGroup : RenderableTwinObject
|
||||
public class WallGroup : TwinObject
|
||||
{
|
||||
public HashSet<Wall> groupWalls = new();
|
||||
public HashSet<LinePoint> groupPoints = new();
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using XED.Attributes;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class RenderableTwinObject : TwinObject
|
||||
{
|
||||
public TwinPhysics physics = new TwinPhysics();
|
||||
public event Action<TwinObject, TwinObject> onTwinConflictEvent;
|
||||
public event Action<TwinObject, TwinObject> onTwinDeconflictEvent;
|
||||
[PropertyVisible, Tooltip("ù ¹øÂ° info")]
|
||||
public bool IsDisplayable;
|
||||
[PropertyVisible, Tooltip("µÎ ¹øÂ° info")]
|
||||
public bool IsInteractible;
|
||||
public HashSet<RenderableTwinObject> crashObjects = new();
|
||||
public BoxHighLighter boxHighLighter;
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
base.AfterAwake();
|
||||
physics.Init(this);
|
||||
}
|
||||
|
||||
public virtual void SetDisplayable(bool value)
|
||||
{
|
||||
metaData.modeling.SetActive(!value);
|
||||
}
|
||||
|
||||
public virtual void SetInteractible(bool value)
|
||||
{
|
||||
IsInteractible = !value;
|
||||
physics.SetActive(!value);
|
||||
}
|
||||
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (!other.TryGetComponent(out RenderableTwinObject contracter))
|
||||
return;
|
||||
crashObjects.Add(contracter);
|
||||
Conflict(contracter);
|
||||
}
|
||||
|
||||
public virtual void MaterialChange(Material mat)
|
||||
{
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
if (!other.TryGetComponent(out RenderableTwinObject twin))
|
||||
return;
|
||||
CrashObjectRemove(twin);
|
||||
}
|
||||
|
||||
public void CrashBoxHighLightDeActive()
|
||||
{
|
||||
foreach (var contracter in crashObjects)
|
||||
{
|
||||
contracter.CrashObjectRemove(this);
|
||||
}
|
||||
}
|
||||
public void CrashObjectRemove<T>(T crashObject) where T : RenderableTwinObject
|
||||
{
|
||||
crashObjects.Remove(crashObject);
|
||||
Deconflict(crashObject);
|
||||
}
|
||||
public virtual void Conflict(TwinObject contract)
|
||||
{
|
||||
onTwinConflictEvent?.Invoke(this, contract);
|
||||
}
|
||||
|
||||
public virtual void Deconflict(TwinObject contract)
|
||||
{
|
||||
onTwinDeconflictEvent?.Invoke(this, contract);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4bfa2f4da8db9e9459c7c78f684fca43
|
||||
@@ -5,7 +5,6 @@ using UnityEngine;
|
||||
using UnityEngine.Pool;
|
||||
using XED.Interfaces;
|
||||
using XED.Attributes;
|
||||
using XED.Core;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
@@ -13,32 +12,92 @@ namespace XED
|
||||
{
|
||||
public HashSet<TwinObject> childs = new HashSet<TwinObject>();
|
||||
|
||||
public TwinPhysics physics = new TwinPhysics();
|
||||
public TwinMetaData metaData = new TwinMetaData();
|
||||
public AssetLabel assetLabel;
|
||||
|
||||
public event Action<TwinObject> onSelectEvent;
|
||||
public event Action<TwinObject> onDeselectEvent;
|
||||
public event Action<TwinObject, TwinObject> onTwinConflictEvent;
|
||||
public event Action<TwinObject, TwinObject> onTwinDeconflictEvent;
|
||||
|
||||
[PropertyVisible, Tooltip("ù ¹øÂ° info")]
|
||||
public bool IsDisplayable;
|
||||
[PropertyVisible, Tooltip("µÎ ¹øÂ° info")]
|
||||
public bool IsInteractible;
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
IsDisplayable = true;
|
||||
IsInteractible = true;
|
||||
physics.Init(this);
|
||||
metaData.Init(this);
|
||||
}
|
||||
|
||||
public virtual void SetDisplayable(bool value)
|
||||
{
|
||||
IsDisplayable = !value;
|
||||
metaData.modeling.SetActive(!value);
|
||||
}
|
||||
|
||||
public virtual void Select()
|
||||
{
|
||||
onSelectEvent?.Invoke(this);
|
||||
}
|
||||
|
||||
public virtual void SetInteractible(bool value)
|
||||
{
|
||||
IsInteractible = !value;
|
||||
physics.SetActive(!value);
|
||||
}
|
||||
public virtual void Deselect()
|
||||
{
|
||||
onDeselectEvent?.Invoke(this);
|
||||
}
|
||||
|
||||
public HashSet<TwinObject> crashObjects = new();
|
||||
public BoxHighLighter boxHighLighter;
|
||||
|
||||
TwinEntity entity;
|
||||
protected internal virtual void Binding(TwinEntity entity)
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
this.entity = entity;
|
||||
if (!other.TryGetComponent<TwinObject>(out TwinObject contracter))
|
||||
return;
|
||||
crashObjects.Add(contracter);
|
||||
Conflict(contracter);
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
if (!other.TryGetComponent<TwinObject>(out TwinObject twin))
|
||||
return;
|
||||
CrashObjectRemove(twin);
|
||||
}
|
||||
|
||||
public void CrashBoxHighLightDeActive()
|
||||
{
|
||||
foreach(var contracter in crashObjects)
|
||||
{
|
||||
contracter.CrashObjectRemove(this);
|
||||
}
|
||||
}
|
||||
public void CrashObjectRemove(TwinObject crashObject)
|
||||
{
|
||||
crashObjects.Remove(crashObject);
|
||||
Deconflict(crashObject);
|
||||
}
|
||||
public virtual void Conflict(TwinObject contract)
|
||||
{
|
||||
onTwinConflictEvent?.Invoke(this, contract);
|
||||
}
|
||||
|
||||
public virtual void Deconflict(TwinObject contract)
|
||||
{
|
||||
onTwinDeconflictEvent?.Invoke(this, contract);
|
||||
}
|
||||
|
||||
public virtual void MaterialChange(Material mat)
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,114 +0,0 @@
|
||||
using System;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
using WI.UI;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class Canvas_Commander : CanvasBase
|
||||
{
|
||||
public string[] commands =
|
||||
{
|
||||
"HELP",
|
||||
"WAIT",
|
||||
"CREATE",
|
||||
"COUNT",
|
||||
};
|
||||
|
||||
public TMP_InputField input;
|
||||
public Button Button_ComponentMode;
|
||||
public Button Button_NormalMode;
|
||||
public Button Button_Depth0;
|
||||
public Button Button_Depth1;
|
||||
public Button Button_Depth2;
|
||||
public Button Button_Depth3;
|
||||
public Button Button_Depth4;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
input = GetComponentInChildren<TMP_InputField>();
|
||||
}
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
Button_ComponentMode.onClick.AddListener(OnClickComponentMode);
|
||||
Button_NormalMode.onClick.AddListener(OnClickNormalMode);
|
||||
Button_Depth0.onClick.AddListener(OnClickDepth0);
|
||||
Button_Depth1.onClick.AddListener(OnClickDepth1);
|
||||
Button_Depth2.onClick.AddListener(OnClickDepth2);
|
||||
Button_Depth3.onClick.AddListener(OnClickDepth3);
|
||||
Button_Depth4.onClick.AddListener(OnClickDepth4);
|
||||
}
|
||||
|
||||
private void OnClickDepth4()
|
||||
{
|
||||
OnClickComponentMode();
|
||||
}
|
||||
|
||||
private void OnClickDepth3()
|
||||
{
|
||||
Camera.main.fieldOfView = 40;
|
||||
}
|
||||
|
||||
private void OnClickDepth2()
|
||||
{
|
||||
Camera.main.fieldOfView = 50;
|
||||
}
|
||||
|
||||
private void OnClickDepth1()
|
||||
{
|
||||
Camera.main.fieldOfView = 60;
|
||||
}
|
||||
|
||||
private void OnClickDepth0()
|
||||
{
|
||||
Camera.main.fieldOfView = 70;
|
||||
}
|
||||
|
||||
private void OnClickNormalMode()
|
||||
{
|
||||
Camera.main.orthographic = false;
|
||||
}
|
||||
|
||||
private void OnClickComponentMode()
|
||||
{
|
||||
Camera.main.orthographic = true;
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if(input.isFocused && Input.GetKeyDown(KeyCode.Return))
|
||||
{
|
||||
Command(input.text);
|
||||
input.text = "";
|
||||
}
|
||||
}
|
||||
|
||||
void Command(string args)
|
||||
{
|
||||
var commands = args.Split(' ');
|
||||
|
||||
for (int i = 0; i < commands.Length; i++)
|
||||
{
|
||||
if (!CommandCheck(commands[i]))
|
||||
{
|
||||
Debug.Log("Command not found: " + commands[i]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool CommandCheck(string command)
|
||||
{
|
||||
foreach (var c in commands)
|
||||
{
|
||||
if(command == c)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
using UnityEngine;
|
||||
using WI.UI;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
public class Panel_ComponentViewer : PanelBase
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 9e0637c63956a034e93f687b99bafa52
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -11,7 +11,7 @@ namespace XED.UI
|
||||
{
|
||||
public class Panel_ObjectTool : PanelBase
|
||||
{
|
||||
private HashSet<RenderableTwinObject> targets = new();
|
||||
private HashSet<TwinObject> targets = new();
|
||||
public event Action onClickMove;
|
||||
public event Action onClickScale;
|
||||
public event Action onClickRotate;
|
||||
@@ -39,7 +39,7 @@ namespace XED.UI
|
||||
button_texture = Find<Button>(nameof(button_texture));
|
||||
button_texture.onClick.AddListener(TexturePopupOpen);
|
||||
}
|
||||
internal void Attach(RenderableTwinObject to)
|
||||
internal void Attach(TwinObject to)
|
||||
{
|
||||
targets.Add(to);
|
||||
TextureButtonControl();
|
||||
@@ -56,7 +56,7 @@ namespace XED.UI
|
||||
button_texture.gameObject.SetActive(value);
|
||||
}
|
||||
|
||||
public void Detach(RenderableTwinObject to)
|
||||
public void Detach(TwinObject to)
|
||||
{
|
||||
targets.Remove(to);
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ using WI.UI;
|
||||
using XED.UI;
|
||||
using XED.Attributes;
|
||||
using TMPro;
|
||||
using XED.Manage;
|
||||
|
||||
namespace XED.UI
|
||||
{
|
||||
@@ -26,8 +25,8 @@ namespace XED.UI
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
if (Button_Close != null)
|
||||
Button_Close.onClick.AddListener(Deactivate);
|
||||
Button_Close.onClick.AddListener(Deactivate);
|
||||
|
||||
infoPrefab = Resources.Load<UI_PropertyViewerInfo>("Prefabs/UI/PRF_PropertyViewerInfo");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
using UnityEngine;
|
||||
using XED.Attributes;
|
||||
using XED.Core;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class TestTruck : RenderableTwinObject
|
||||
{
|
||||
[PropertyVisible]
|
||||
public int deliveryCount;
|
||||
[PropertyVisible]
|
||||
public float deliverySpeed;
|
||||
|
||||
public override void AfterAwake()
|
||||
{
|
||||
base.AfterAwake();
|
||||
FindFirstObjectByType<DataHub>().Subscribe("truck", this);
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
@@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 88d4c5d9037b66043aae59a7433fa439
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -1,8 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class TestMachine : TwinObject
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2b8bdc1c416ee3d458d20a95ef7c5cd1
|
||||
@@ -1,9 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class TestMaterial : TwinObject
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 282e0d5c37bbe0a40baa2d1d95ba777e
|
||||
@@ -1,9 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class TestStacker : TwinObject
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c22e9178cad64f04fa9fc8f5907807e0
|
||||
13
Assets/TestTruck.cs
Normal file
13
Assets/TestTruck.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
using UnityEngine;
|
||||
using XED.Attributes;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class TestTruck : TwinObject
|
||||
{
|
||||
[PropertyVisible]
|
||||
public int deliveryCount;
|
||||
[PropertyVisible]
|
||||
public float deliverySpeed;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace XED
|
||||
{
|
||||
public class TestWorker : TwinObject
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d862a0e5690bc2b47bb7cee0a852b368
|
||||
@@ -1,95 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using UnityEngine;
|
||||
|
||||
namespace XED.Core
|
||||
{
|
||||
public class TwinEntity : MonoBehaviour
|
||||
{
|
||||
public string id;
|
||||
|
||||
Dictionary<string, FieldInfo> properties = new();
|
||||
Dictionary<FieldInfo, object> propertyValues = new();
|
||||
public object GetPropertyValue(string key)
|
||||
{
|
||||
var fi = GetFieldInfo(key);
|
||||
if (fi == null)
|
||||
return null;
|
||||
|
||||
return fi.GetValue(this);
|
||||
}
|
||||
|
||||
public class UpdateOption
|
||||
{
|
||||
public string key;
|
||||
public bool changed;
|
||||
public float interval;
|
||||
}
|
||||
|
||||
public class LocalOption
|
||||
{
|
||||
public float range;
|
||||
public float interval;
|
||||
public List<string> primaryKeys = new();
|
||||
}
|
||||
float localTimer;
|
||||
LocalOption localOption;
|
||||
public void SetLocalOption(LocalOption option)
|
||||
{
|
||||
localOption = option;
|
||||
}
|
||||
|
||||
Dictionary<UpdateOption, FieldInfo> updateTable = new Dictionary<UpdateOption, FieldInfo>();
|
||||
public void SetUpdateOption(UpdateOption option)
|
||||
{
|
||||
var fi = GetFieldInfo(option.key);
|
||||
if (fi == null)
|
||||
return;
|
||||
|
||||
updateTable.Add(option, fi);
|
||||
}
|
||||
|
||||
List<FieldInfo> changedFields = new();
|
||||
private void FixedUpdate()
|
||||
{
|
||||
changedFields.Clear();
|
||||
if (localOption != null)
|
||||
{
|
||||
localTimer += Time.fixedDeltaTime;
|
||||
if (localOption.interval > localTimer)
|
||||
return;
|
||||
|
||||
foreach(var key in localOption.primaryKeys)
|
||||
{
|
||||
var fi = GetFieldInfo(key);
|
||||
|
||||
if(fi == null)
|
||||
{
|
||||
Debug.Log($"Wrong key: {key}");
|
||||
continue;
|
||||
}
|
||||
var currValue = fi.GetValue(this);
|
||||
var prevValue = propertyValues[properties[key]];
|
||||
|
||||
if (currValue != prevValue)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FieldInfo GetFieldInfo(string key)
|
||||
{
|
||||
if (properties.TryGetValue(key, out var property))
|
||||
{
|
||||
return property;
|
||||
}
|
||||
var typeInfo = GetType();
|
||||
var p = typeInfo.GetField(key);
|
||||
properties.Add(key, p);
|
||||
propertyValues.Add(p, p.GetValue(this));
|
||||
return p;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 80461e4bcfb6d364da9fe19c5320c56a
|
||||
@@ -24,6 +24,7 @@ namespace UnityEngine.UI.Extensions
|
||||
|
||||
}
|
||||
|
||||
#if UNITY_EDITOR
|
||||
/// <summary>
|
||||
/// Reserve for editor only
|
||||
/// </summary>
|
||||
@@ -34,6 +35,7 @@ namespace UnityEngine.UI.Extensions
|
||||
controlPoints = value;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
Reference in New Issue
Block a user