Compare commits
4 Commits
new-window
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d14e2ca055 | |||
| d0d7134b68 | |||
| 987c7b1be2 | |||
| f7a7427610 |
@ -1,5 +1,4 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.SceneManagement;
|
||||
|
||||
namespace NEG.Utils
|
||||
{
|
||||
|
||||
@ -185,8 +185,10 @@ public static class BuildingUtils
|
||||
string command =
|
||||
$"cd {Application.dataPath}/../../{Application.productName}-Steam/ContentBuilder && push_build.bat";
|
||||
if (demo)
|
||||
{
|
||||
command =
|
||||
$"cd {Application.dataPath}/../../{Application.productName}-Steam/ContentBuilder && push_demo.bat";
|
||||
}
|
||||
|
||||
var processInfo = new ProcessStartInfo("cmd.exe", $"/c {command}")
|
||||
{
|
||||
|
||||
@ -102,8 +102,10 @@ namespace NegUtils.Editor
|
||||
return;
|
||||
|
||||
if (EditorPrefs.GetBool("GoToCurrentSceneAfterPlay"))
|
||||
{
|
||||
EditorSceneManager.LoadSceneInPlayMode(EditorPrefs.GetString("LastOpenedScenePath"),
|
||||
new LoadSceneParameters(LoadSceneMode.Single));
|
||||
}
|
||||
else if (EditorPrefs.GetBool("GoToFirstSceneAfterPlay"))
|
||||
SceneManager.LoadScene(1);
|
||||
}
|
||||
|
||||
@ -31,8 +31,10 @@ namespace NEG.Utils
|
||||
var methodFields =
|
||||
type.GetMethods(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
|
||||
for (int i = 0; i < methodFields.Length; i++)
|
||||
{
|
||||
if (Attribute.GetCustomAttribute(methodFields[i], typeof(FactoryRegistration)) != null)
|
||||
methodFields[i].Invoke(null, Array.Empty<object>());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -248,8 +248,10 @@ namespace System.Collections.Generic
|
||||
public PriorityQueue(int initialCapacity, IComparer<TPriority>? comparer)
|
||||
{
|
||||
if (initialCapacity < 0)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(
|
||||
nameof(initialCapacity), initialCapacity, SR.ArgumentOutOfRange_NeedNonNegNum);
|
||||
}
|
||||
|
||||
_nodes = new (TElement, TPriority)[initialCapacity];
|
||||
_comparer = InitializeComparer(comparer);
|
||||
@ -508,9 +510,8 @@ namespace System.Collections.Generic
|
||||
if (_size > 1) Heapify();
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var (element, priority) in items) Enqueue(element, priority);
|
||||
}
|
||||
foreach (var (element, priority) in items)
|
||||
Enqueue(element, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -554,9 +555,8 @@ namespace System.Collections.Generic
|
||||
if (i > 1) Heapify();
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var element in elements) Enqueue(element, priority);
|
||||
}
|
||||
foreach (var element in elements)
|
||||
Enqueue(element, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -684,11 +684,15 @@ namespace System.Collections.Generic
|
||||
int lastParentWithChildren = GetParentIndex(_size - 1);
|
||||
|
||||
if (_comparer == null)
|
||||
{
|
||||
for (int index = lastParentWithChildren; index >= 0; --index)
|
||||
MoveDownDefaultComparer(nodes[index], index);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int index = lastParentWithChildren; index >= 0; --index)
|
||||
MoveDownCustomComparer(nodes[index], index);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -715,9 +719,7 @@ namespace System.Collections.Generic
|
||||
nodeIndex = parentIndex;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
nodes[nodeIndex] = node;
|
||||
@ -748,9 +750,7 @@ namespace System.Collections.Generic
|
||||
nodeIndex = parentIndex;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
nodes[nodeIndex] = node;
|
||||
@ -894,8 +894,10 @@ namespace System.Collections.Generic
|
||||
if (array.GetLowerBound(0) != 0) throw new ArgumentException(SR.Arg_NonZeroLowerBound, nameof(array));
|
||||
|
||||
if (index < 0 || index > array.Length)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(index), index,
|
||||
SR.ArgumentOutOfRange_IndexMustBeLessOrEqual);
|
||||
}
|
||||
|
||||
if (array.Length - index < _queue._size) throw new ArgumentException(SR.Argument_InvalidOffLen);
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ namespace NEG.UI.Area
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if(UiManager.Instance == null)
|
||||
if (UiManager.Instance == null)
|
||||
return;
|
||||
if (ReferenceEquals(UiManager.Instance.CurrentArea, this))
|
||||
UiManager.Instance.CurrentArea = null;
|
||||
|
||||
@ -43,10 +43,7 @@ namespace NEG.UI.UnityUi.Buttons
|
||||
|
||||
private void Start() => OnDeselect(null);
|
||||
|
||||
private void OnValidate()
|
||||
{
|
||||
this.ValidateRefs();
|
||||
}
|
||||
private void OnValidate() => this.ValidateRefs();
|
||||
|
||||
public void OnDeselect(BaseEventData eventData) => OnDeselected?.Invoke(eventData is SilentEventData);
|
||||
|
||||
|
||||
@ -1,3 +1,4 @@
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NEG.UI.UnityUi.Buttons.Reactions
|
||||
@ -7,7 +8,7 @@ namespace NEG.UI.UnityUi.Buttons.Reactions
|
||||
protected override void OnClicked()
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
UnityEditor.EditorApplication.isPlaying = false;
|
||||
EditorApplication.isPlaying = false;
|
||||
#endif
|
||||
Application.Quit();
|
||||
}
|
||||
|
||||
@ -74,10 +74,12 @@ namespace NEG.UI.UnityUi
|
||||
var data = new PointerEventData(EventSystem.current);
|
||||
var currentSelected = EventSystem.current.currentSelectedGameObject;
|
||||
if (currentSelected != null)
|
||||
{
|
||||
for (var current = EventSystem.current.currentSelectedGameObject.transform;
|
||||
current != null;
|
||||
current = current.parent)
|
||||
ExecuteEvents.Execute(current.gameObject, data, ExecuteEvents.pointerExitHandler);
|
||||
}
|
||||
|
||||
EventSystem.current.SetSelectedGameObject(currentSelected);
|
||||
}
|
||||
|
||||
@ -27,9 +27,9 @@ namespace NEG.UI.UnityUi.Window
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if(UiManager.Instance == null)
|
||||
if (UiManager.Instance == null)
|
||||
return;
|
||||
if (IsOpened)
|
||||
if (IsOpened)
|
||||
UiManager.Instance.OnWindowClosed(this);
|
||||
}
|
||||
|
||||
|
||||
@ -5,5 +5,4 @@ namespace NEG.Utils
|
||||
public class ReadOnlyAttribute : PropertyAttribute
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
85
NEG/Utils/SerializableGuid.cs
Normal file
85
NEG/Utils/SerializableGuid.cs
Normal file
@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
namespace NEG.Utils
|
||||
{
|
||||
[Serializable]
|
||||
public struct SerializableGuid : IComparable, IComparable<SerializableGuid>, IEquatable<SerializableGuid>
|
||||
{
|
||||
[SerializeField] private uint value0;
|
||||
[SerializeField] private uint value1;
|
||||
[SerializeField] private uint value2;
|
||||
[SerializeField] private uint value3;
|
||||
|
||||
// public SerializableGuid(string hexRepresentation)
|
||||
// {
|
||||
// value0 = 0U;
|
||||
// value1 = 0U;
|
||||
// value2 = 0U;
|
||||
// value3 = 0U;
|
||||
// TryParse(hexRepresentation, out this);
|
||||
// }
|
||||
|
||||
public static bool operator ==(SerializableGuid x, SerializableGuid y)
|
||||
{
|
||||
return (int)x.value0 == (int)y.value0 && (int)x.value1 == (int)y.value1 &&
|
||||
(int)x.value2 == (int)y.value2 && (int)x.value3 == (int)y.value3;
|
||||
}
|
||||
|
||||
public static bool operator !=(SerializableGuid x, SerializableGuid y) => !(x == y);
|
||||
|
||||
public static bool operator <(SerializableGuid x, SerializableGuid y)
|
||||
{
|
||||
if ((int)x.value0 != (int)y.value0)
|
||||
return x.value0 < y.value0;
|
||||
if ((int)x.value1 != (int)y.value1)
|
||||
return x.value1 < y.value1;
|
||||
return (int)x.value2 != (int)y.value2 ? x.value2 < y.value2 : x.value3 < y.value3;
|
||||
}
|
||||
|
||||
public static bool operator > (SerializableGuid x, SerializableGuid y) => !(x < y) && !(x == y);
|
||||
|
||||
public override bool Equals(object obj) => obj is SerializableGuid guid && Equals(guid);
|
||||
|
||||
public bool Equals(SerializableGuid obj) => this == obj;
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return ((((((int)value0 * 397) ^ (int)value1) * 397) ^ (int)value2) * 397) ^
|
||||
(int)value3;
|
||||
}
|
||||
|
||||
public int CompareTo(object obj) => obj == null ? 1 : CompareTo((SerializableGuid)obj);
|
||||
|
||||
public int CompareTo(SerializableGuid rhs)
|
||||
{
|
||||
if (this < rhs)
|
||||
return -1;
|
||||
return this > rhs ? 1 : 0;
|
||||
}
|
||||
|
||||
public bool Empty() => value0 == 0U && value1 == 0U && value2 == 0U && value3 == 0U;
|
||||
|
||||
// public static bool TryParse(string hex, out SerializableGuid result)
|
||||
// {
|
||||
// result = HexToSerializableGuidInternal(hex);
|
||||
// return !result.Empty();
|
||||
// }
|
||||
|
||||
public static SerializableGuid Generate()
|
||||
{
|
||||
byte[] array = Guid.NewGuid().ToByteArray();
|
||||
|
||||
var guid = new SerializableGuid
|
||||
{
|
||||
value0 = BitConverter.ToUInt32(new ReadOnlySpan<byte>(array, 0, 4)),
|
||||
value1 = BitConverter.ToUInt32(new ReadOnlySpan<byte>(array, 4, 4)),
|
||||
value2 = BitConverter.ToUInt32(new ReadOnlySpan<byte>(array, 8, 4)),
|
||||
value3 = BitConverter.ToUInt32(new ReadOnlySpan<byte>(array, 12, 4))
|
||||
};
|
||||
return guid;
|
||||
}
|
||||
|
||||
//public override string ToString() => SerializableGuidToHexInternal(ref this);
|
||||
}
|
||||
}
|
||||
3
NEG/Utils/SerializableGuid.cs.meta
Normal file
3
NEG/Utils/SerializableGuid.cs.meta
Normal file
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a81e7c502db5413194d0ebfc7bad054e
|
||||
timeCreated: 1741038901
|
||||
@ -10,9 +10,8 @@ namespace NEG.Utils.UiToolkits
|
||||
{
|
||||
public class MultiSelectChips : VisualElement
|
||||
{
|
||||
private readonly List<MultiSelectChipItem> spawnedItems = new();
|
||||
|
||||
private readonly VisualTreeAsset itemPrefab;
|
||||
private readonly List<MultiSelectChipItem> spawnedItems = new();
|
||||
|
||||
private ICollection<IMultiSelectChipItem> itemsSource;
|
||||
|
||||
@ -86,8 +85,10 @@ namespace NEG.Utils.UiToolkits
|
||||
List<IMultiSelectChipItem> itemsToAdd = new(itemsSource);
|
||||
|
||||
foreach (var item in spawnedItems)
|
||||
{
|
||||
if (itemsToAdd.Contains(item.ChipItem))
|
||||
itemsToAdd.Remove(item.ChipItem);
|
||||
}
|
||||
|
||||
foreach (var item in itemsToAdd)
|
||||
{
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements"
|
||||
<ui:UXML xmlns:ui="UnityEngine.UIElements"
|
||||
xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements"
|
||||
noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
|
||||
<ui:VisualElement name="VisualElement" class="unity-button"
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<ui:UXML xmlns:ui="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements"
|
||||
<ui:UXML xmlns:ui="UnityEngine.UIElements"
|
||||
xsi="http://www.w3.org/2001/XMLSchema-instance" engine="UnityEngine.UIElements" editor="UnityEditor.UIElements"
|
||||
noNamespaceSchemaLocation="../../../../../UIElementsSchema/UIElements.xsd" editor-extension-mode="False">
|
||||
<ui:VisualElement style="flex-direction: row; flex-wrap: wrap;">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user