This commit is contained in:
2026-03-02 14:18:59 -05:00
parent daff25af55
commit 227e70219a
19 changed files with 173 additions and 442 deletions

View File

@@ -33,7 +33,7 @@ public static class DebugAttributes
public static bool VerifyOrThrow(ComponentDocker __docker, Component __component) { public static bool VerifyOrThrow(ComponentDocker __docker, Component __component) {
if (__docker.Contains(__component)) return true; if (__docker.Contains(__component)) return true;
Debug.LogError("Docker does not own the Component!", Awperative.Debug.LogError("Docker does not own the Component!",
["ComponentType", "ComponentName", "ComponentHash", "DockerType", "DockerName", "DockerHash"], [ ["ComponentType", "ComponentName", "ComponentHash", "DockerType", "DockerName", "DockerHash"], [
__component.GetType().Name, __component.GetType().Name,
__component.Name, __component.Name,
@@ -43,7 +43,7 @@ public static class DebugAttributes
__docker.GetHashCode().ToString("N0") __docker.GetHashCode().ToString("N0")
]); ]);
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -60,7 +60,7 @@ public static class DebugAttributes
public static bool VerifyOrThrow(ComponentDocker __docker, Component __component) { public static bool VerifyOrThrow(ComponentDocker __docker, Component __component) {
if (!__docker.Contains(__component)) return true; if (!__docker.Contains(__component)) return true;
Debug.LogError("Docker owns the Component!", Awperative.Debug.LogError("Docker owns the Component!",
["ComponentType", "ComponentName", "ComponentHash", "DockerType", "DockerName", "DockerHash"], [ ["ComponentType", "ComponentName", "ComponentHash", "DockerType", "DockerName", "DockerHash"], [
__component.GetType().Name, __component.GetType().Name,
__component.Name, __component.Name,
@@ -70,7 +70,7 @@ public static class DebugAttributes
__docker.GetHashCode().ToString("N0") __docker.GetHashCode().ToString("N0")
]); ]);
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -87,7 +87,7 @@ public static class DebugAttributes
public static bool VerifyOrThrow(Component __component) { public static bool VerifyOrThrow(Component __component) {
if (__component.ComponentDocker == null) return true; if (__component.ComponentDocker == null) return true;
Debug.LogError("Component is already owned!", Awperative.Debug.LogError("Component is already owned!",
["ComponentType", "ComponentName", "ComponentHash", "DockerType", "DockerName", "DockerHash"], [ ["ComponentType", "ComponentName", "ComponentHash", "DockerType", "DockerName", "DockerHash"], [
__component.GetType().Name, __component.GetType().Name,
__component.Name, __component.Name,
@@ -97,7 +97,7 @@ public static class DebugAttributes
__component.ComponentDocker.GetHashCode().ToString("N0") __component.ComponentDocker.GetHashCode().ToString("N0")
]); ]);
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -114,13 +114,13 @@ public static class DebugAttributes
public static bool VerifyOrThrow(ComponentDocker __docker, ComponentDocker __other) { public static bool VerifyOrThrow(ComponentDocker __docker, ComponentDocker __other) {
if (!__docker.Equals(__other)) return true; if (!__docker.Equals(__other)) return true;
Debug.LogError("The dockers are the same!", ["DockerType", "DockerName", "DockerHash"], [ Awperative.Debug.LogError("The dockers are the same!", ["DockerType", "DockerName", "DockerHash"], [
__docker.GetType().Name, __docker.GetType().Name,
__docker switch { Scene scene => scene.Name, Component component => component.Name, _ => "unknown" }, __docker switch { Scene scene => scene.Name, Component component => component.Name, _ => "unknown" },
__docker.GetHashCode().ToString("N0") __docker.GetHashCode().ToString("N0")
]); ]);
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -137,9 +137,9 @@ public static class DebugAttributes
public static bool VerifyOrThrow(Component __component) { public static bool VerifyOrThrow(Component __component) {
if (__component != null) return true; if (__component != null) return true;
Debug.LogError("Component is null!"); Awperative.Debug.LogError("Component is null!");
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -156,9 +156,9 @@ public static class DebugAttributes
public static bool VerifyOrThrow(ComponentDocker __componentDocker) { public static bool VerifyOrThrow(ComponentDocker __componentDocker) {
if (__componentDocker != null) return true; if (__componentDocker != null) return true;
Debug.LogError("Docker is null!"); Awperative.Debug.LogError("Docker is null!");
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -175,9 +175,9 @@ public static class DebugAttributes
public static bool VerifyOrThrow(Scene __scene) { public static bool VerifyOrThrow(Scene __scene) {
if (__scene != null) return true; if (__scene != null) return true;
Debug.LogError("Scene is null!"); Awperative.Debug.LogError("Scene is null!");
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -195,8 +195,8 @@ public static class DebugAttributes
public static bool VerifyOrThrow(ICollection<object> __collection) { public static bool VerifyOrThrow(ICollection<object> __collection) {
foreach (object obj in __collection) { foreach (object obj in __collection) {
if (obj == null) { if (obj == null) {
Debug.LogError("A given enumerator has null members!", ["Type"], [__collection.GetType().Name]); Awperative.Debug.LogError("A given enumerator has null members!", ["Type"], [__collection.GetType().Name]);
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -216,8 +216,8 @@ public static class DebugAttributes
public static bool VerifyOrThrow(IEnumerable<object> __enumerator) { public static bool VerifyOrThrow(IEnumerable<object> __enumerator) {
foreach (object obj in __enumerator) { foreach (object obj in __enumerator) {
if (obj == null) { if (obj == null) {
Debug.LogError("A given enumerator has null members!", ["Type"], [__enumerator.GetType().Name]); Awperative.Debug.LogError("A given enumerator has null members!", ["Type"], [__enumerator.GetType().Name]);
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -237,9 +237,9 @@ public static class DebugAttributes
public static bool VerifyOrThrow(Object __object) { public static bool VerifyOrThrow(Object __object) {
if (__object != null) return true; if (__object != null) return true;
Debug.LogError("A given object is null!"); Awperative.Debug.LogError("A given object is null!");
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -255,9 +255,9 @@ public static class DebugAttributes
public static bool VerifyOrThrow(int __index, int __min, int __max) { public static bool VerifyOrThrow(int __index, int __min, int __max) {
if (__index >= __min && __index <= __max) return true; if (__index >= __min && __index <= __max) return true;
Debug.LogError("Value does not fit range!", ["Index"], [__index.ToString("N0")]); Awperative.Debug.LogError("Value does not fit range!", ["Index"], [__index.ToString("N0")]);
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -273,9 +273,9 @@ public static class DebugAttributes
public static bool VerifyOrThrow<__Type>(__Type __object, ICollection<__Type> __collection) { public static bool VerifyOrThrow<__Type>(__Type __object, ICollection<__Type> __collection) {
if (__collection.Contains(__object)) return true; if (__collection.Contains(__object)) return true;
Debug.LogError("Collection does not contain object!", ["ObjectType"], [__object.GetType().Name]); Awperative.Debug.LogError("Collection does not contain object!", ["ObjectType"], [__object.GetType().Name]);
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }
@@ -291,9 +291,9 @@ public static class DebugAttributes
public static bool VerifyOrThrow<__Type>(__Type __object, ICollection<__Type> __collection) { public static bool VerifyOrThrow<__Type>(__Type __object, ICollection<__Type> __collection) {
if (!__collection.Contains(__object)) return true; if (!__collection.Contains(__object)) return true;
Debug.LogError("Collection already contains object!", ["ObjectType"], [__object.GetType().Name]); Awperative.Debug.LogError("Collection already contains object!", ["ObjectType"], [__object.GetType().Name]);
return Debug.IgnoreErrors; return Awperative.Debug.IgnoreErrors;
} }
} }

View File

@@ -17,14 +17,6 @@ public abstract partial class ComponentDocker
if(!DebugAttributes.DockerNotNull.VerifyOrThrow(__componentDocker)) return; if(!DebugAttributes.DockerNotNull.VerifyOrThrow(__componentDocker)) return;
if(!DebugAttributes.DifferentDocker.VerifyOrThrow(this, __componentDocker)) return; if(!DebugAttributes.DifferentDocker.VerifyOrThrow(this, __componentDocker)) return;
if (!Contains(__component)) {
Debug.LogError("Docker does not have ownership over Component!", ["ComponentType"], [__component.GetType().Name]); return;
}
if (__componentDocker == this) {
Debug.LogError("Docker already has Component!", ["ComponentType"], [__component.GetType().Name]); return;
}
RemoveComponentFromLists(__component); RemoveComponentFromLists(__component);
__componentDocker.AddComponentToLists(__component); __componentDocker.AddComponentToLists(__component);
@@ -46,51 +38,51 @@ public abstract partial class ComponentDocker
/// <summary> Moves the first component with a given Type</summary> /// <summary> Moves the first component with a given Type</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public void Move<__Type>(ComponentDocker __componentDocker) where __Type : Component => Move(Get<__Type>(), __componentDocker); public void Move<__Type>([DebugAttributes.DockerNotNull, DebugAttributes.DifferentDocker] ComponentDocker __componentDocker) where __Type : Component => Move(Get<__Type>(), __componentDocker);
/// <summary> Moves all components of a given type</summary> /// <summary> Moves all components of a given type</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void MoveAll<__Type>(ComponentDocker __componentDocker) where __Type : Component => MoveAll(GetAll<__Type>(), __componentDocker); public void MoveAll<__Type>([DebugAttributes.DockerNotNull, DebugAttributes.DifferentDocker] ComponentDocker __componentDocker) where __Type : Component => MoveAll(GetAll<__Type>(), __componentDocker);
/// <summary> Moves all components that have all the given tags</summary> /// <summary> Moves all components that have all the given tags</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void MoveAll(IEnumerable<string> __tags, ComponentDocker __componentDocker) => MoveAll(GetAll(__tags), __componentDocker); public void MoveAll([DebugAttributes.EnumeratorNotNull] IEnumerable<string> __tags, [DebugAttributes.DockerNotNull, DebugAttributes.DifferentDocker] ComponentDocker __componentDocker) => MoveAll(GetAll(__tags), __componentDocker);
/// <summary> Moves all Components that have the given type, and all the given tags</summary> /// <summary> Moves all Components that have the given type, and all the given tags</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void MoveAll<__Type>(IEnumerable<string> __tags, ComponentDocker __componentDocker) where __Type : Component => MoveAll(GetAll<__Type>(__tags), __componentDocker); public void MoveAll<__Type>([DebugAttributes.EnumeratorNotNull] IEnumerable<string> __tags, [DebugAttributes.DockerNotNull, DebugAttributes.DifferentDocker] ComponentDocker __componentDocker) where __Type : Component => MoveAll(GetAll<__Type>(__tags), __componentDocker);
/// <summary> Moves all the components with the given tag</summary> /// <summary> Moves all the components with the given tag</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public void MoveAll(string __tag, ComponentDocker __componentDocker) => MoveAll(GetAll([__tag]), __componentDocker); public void MoveAll([DebugAttributes.NotNull] string __tag, [DebugAttributes.DockerNotNull, DebugAttributes.DifferentDocker] ComponentDocker __componentDocker) => MoveAll(GetAll([__tag]), __componentDocker);
/// <summary> Moves all the components that have a certain type, and a certain tag</summary> /// <summary> Moves all the components that have a certain type, and a certain tag</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void MoveAll<__Type>(string __tag, ComponentDocker __componentDocker) where __Type : Component => MoveAll(GetAll<__Type>([__tag]), __componentDocker); public void MoveAll<__Type>([DebugAttributes.NotNull] string __tag, [DebugAttributes.DockerNotNull, DebugAttributes.DifferentDocker] ComponentDocker __componentDocker) where __Type : Component => MoveAll(GetAll<__Type>([__tag]), __componentDocker);
/// <summary> Moves the first component with the given tag</summary> /// <summary> Moves the first component with the given tag</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public void Move(string __tag, ComponentDocker __componentDocker) => Move(GetAll([__tag]).FirstOrDefault(), __componentDocker); public void Move([DebugAttributes.NotNull] string __tag, [DebugAttributes.DockerNotNull, DebugAttributes.DifferentDocker] ComponentDocker __componentDocker) => Move(GetAll([__tag]).FirstOrDefault(), __componentDocker);
/// <summary> Moves the moves component with the given type and tag</summary> /// <summary> Moves the moves component with the given type and tag</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void Move<__Type>(string __tag, ComponentDocker __componentDocker) where __Type : Component => Move(GetAll<__Type>(__tag).FirstOrDefault(), __componentDocker); public void Move<__Type>([DebugAttributes.NotNull] string __tag, [DebugAttributes.DockerNotNull, DebugAttributes.DifferentDocker] ComponentDocker __componentDocker) where __Type : Component => Move(GetAll<__Type>(__tag).FirstOrDefault(), __componentDocker);
} }

View File

@@ -2,7 +2,6 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Diagnostics; using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq; using System.Linq;
@@ -15,29 +14,33 @@ public abstract partial class ComponentDocker
/// <summary> Attaches a preexisting component to the docker, this is not transferring the component, the method will throw an error if the component is already attached to a docker</summary> /// <summary> Attaches a preexisting component to the docker, this is not transferring the component, the method will throw an error if the component is already attached to a docker</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public void Add([DebugAttributes.ComponentNotNull,DebugAttributes.OrphanComponent] Component __component) { public void Add([DebugAttributes.ComponentNotNull, DebugAttributes.OrphanComponent] Component __component) {
if(!DebugAttributes.ComponentNotNull.VerifyOrThrow(__component)) return; if (!DebugAttributes.ComponentNotNull.VerifyOrThrow(__component)) return;
if(!DebugAttributes.OrphanComponent.VerifyOrThrow(__component)) return; if (!DebugAttributes.OrphanComponent.VerifyOrThrow(__component)) return;
//Component has already been added to another docker
if (__component.ComponentDocker != null) { Debug.LogError("You cannot use add if the Component already belongs to a Docker, use Component.Transfer();"); return; }
InitiateComponent(__component); InitiateComponent(__component);
} }
/// <summary> Creates a new instance of that type of component and attaches it to the docker, and returns a reference to it.</summary> /// <summary> Creates a new instance of that type of component and attaches it to the docker, and returns a reference to it.</summary>
public __Type Add<__Type>() where __Type : Component, new() { Component newComponent = new __Type(); InitiateComponent(newComponent); return (__Type)newComponent; } [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public __Type Add<__Type>() where __Type : Component, new() {
Component newComponent = new __Type();
InitiateComponent(newComponent);
return (__Type)newComponent;
}
/// <summary> Creates a new instance of that type of component and attaches it to the docker, and returns a reference to it.</summary> /// <summary> Creates a new instance of that type of component and attaches it to the docker, and returns a reference to it.</summary> [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public __Type Add<__Type>(string name = null, [DebugAttributes.ValueFitsRange] int priority = 0, Collection<string> tags = null) where __Type : Component, new() { public __Type Add<__Type>(string name = null, [DebugAttributes.ValueFitsRange] int priority = 0, Collection<string> tags = null) where __Type : Component, new() {
Component newComponent = new __Type(); Component newComponent = new __Type();
newComponent.Name = name ??= typeof(__Type).Name; newComponent.Name = name ??= typeof(__Type).Name;
newComponent._tags = [..tags ??= []]; newComponent._tags = [..tags ??= []];
newComponent.Priority = priority; newComponent.Priority = priority;
InitiateComponent(newComponent); return (__Type)newComponent; InitiateComponent(newComponent);
return (__Type)newComponent;
} }
@@ -49,7 +52,8 @@ public abstract partial class ComponentDocker
__component.ComponentDocker = this; __component.ComponentDocker = this;
//create event //create event
__component.TryEvent(4); __component.ChainEvent(4); __component.TryEvent(4);
__component.ChainEvent(4);
} }
@@ -58,10 +62,9 @@ public abstract partial class ComponentDocker
/// <summary> Destroys a component attached to the Docker </summary> /// <summary> Destroys a component attached to the Docker </summary>
/// <param name="__component"></param> /// <param name="__component"></param>
public void Destroy([DebugAttributes.ComponentNotNull,DebugAttributes.DockerOwns] Component __component) { public void Destroy([DebugAttributes.ComponentNotNull, DebugAttributes.DockerOwns] Component __component) {
Stopwatch timer = Stopwatch.StartNew(); if (!DebugAttributes.ComponentNotNull.VerifyOrThrow(__component)) return;
if(!DebugAttributes.ComponentNotNull.VerifyOrThrow(__component)) return; if (!DebugAttributes.DockerOwns.VerifyOrThrow(this, __component)) return;
if(!DebugAttributes.DockerOwns.VerifyOrThrow(this, __component)) return;
__component.TryEvent(5); __component.TryEvent(5);
__component.ChainEvent(5); __component.ChainEvent(5);
@@ -73,56 +76,57 @@ public abstract partial class ComponentDocker
/// <summary> Destroys all the components in a given list </summary> /// <summary> Destroys all the components in a given list </summary>
public void DestroyAll([DebugAttributes.ComponentNotNull, DebugAttributes.DockerOwns] IEnumerable<Component> __Components) { foreach(Component component in __Components) Destroy(component); } [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void DestroyAll([DebugAttributes.EnumeratorNotNull, DebugAttributes.DockerOwns] IEnumerable<Component> __Components) { foreach (Component component in __Components) Destroy(component); }
/// <summary> Destroys the first component with a given Type</summary> /// <summary> Destroys the first component with a given Type</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public void Destroy<__Type>() where __Type : Component => Destroy(Get<__Type>()); public void Destroy<__Type>() where __Type : Component => Destroy(Get<__Type>());
/// <summary> Destroys all components of a given type</summary> /// <summary> Destroys all components of a given type</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void DestroyAll<__Type>() where __Type : Component => DestroyAll(GetAll<__Type>()); public void DestroyAll<__Type>() where __Type : Component => DestroyAll(GetAll<__Type>());
/// <summary> Destroys all components that have all the given tags</summary> /// <summary> Destroys all components that have all the given tags</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void DestroyAll(IEnumerable<string> __tags) => DestroyAll(GetAll(__tags)); public void DestroyAll([DebugAttributes.EnumeratorNotNull] IEnumerable<string> __tags) => DestroyAll(GetAll(__tags));
/// <summary> Destroys all Components that have the given type, and all the given tags</summary> /// <summary> Destroys all Components that have the given type, and all the given tags</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void DestroyAll<__Type>(IEnumerable<string> __tags) where __Type : Component => DestroyAll(GetAll<__Type>(__tags)); public void DestroyAll<__Type>([DebugAttributes.EnumeratorNotNull] IEnumerable<string> __tags) where __Type : Component => DestroyAll(GetAll<__Type>(__tags));
/// <summary> Destroys all the components with the given tag</summary> /// <summary> Destroys all the components with the given tag</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void DestroyAll(string __tag) => DestroyAll(GetAll([__tag])); public void DestroyAll([DebugAttributes.NotNull] string __tag) => DestroyAll(GetAll([__tag]));
/// <summary> Destroys all the components that have a certain type, and a certain tag</summary> /// <summary> Destroys all the components that have a certain type, and a certain tag</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void DestroyAll<__Type>(string __tag) where __Type : Component => DestroyAll(GetAll<__Type>([__tag])); public void DestroyAll<__Type>([DebugAttributes.NotNull] string __tag) where __Type : Component => DestroyAll(GetAll<__Type>([__tag]));
/// <summary> Destroys the first component with the given tag</summary> /// <summary> Destroys the first component with the given tag</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public void Destroy(string __tag) => Destroy(GetAll([__tag]).FirstOrDefault()); public void Destroy([DebugAttributes.NotNull] string __tag) => Destroy(GetAll([__tag]).FirstOrDefault());
/// <summary> Destroys the Destroys component with the given type and tag</summary> /// <summary> Destroys the Destroys component with the given type and tag</summary>
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)] [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
public void Destroy<__Type>(string __tag) where __Type : Component => Destroy(GetAll<__Type>(__tag).FirstOrDefault()); public void Destroy<__Type>([DebugAttributes.NotNull] string __tag) where __Type : Component => Destroy(GetAll<__Type>(__tag).FirstOrDefault());
} }

View File

@@ -1,236 +0,0 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
namespace AwperativeKernel;
public static class Debug
{
/// <summary>
/// True path of the log file Awperative dumps to.
/// </summary>
public static string LogFilePath { get; private set; }
public static string LogFileName { get; private set; } = "Log";
/// <summary>
/// Sets up the Awperative debugger and finds the log file.
/// </summary>
internal static void Initiate() {
string directoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
if(directoryPath == null) throw new Exception("Failed to get directory path!");
LogFilePath = Path.Join(directoryPath, LogFileName + ".awlf");
if(!Directory.GetFiles(directoryPath).Contains(LogFileName + ".awlf")) { File.Create(LogFilePath).Close(); }
}
/// <summary>
/// Writes the current message to the log file.
/// </summary>
/// <param name="__message"> Message to debug</param>
public static void LogAction(string __message) => LogGeneric(__message, "ACT", [], []);
/// <summary>
/// Writes the current message to the log file. With any given call sign.
/// </summary>
/// <param name="__message"> Message to debug</param>
/// <param name="__parameters"> Names of values to debug</param>
/// <param name="__values"> Values to debug</param>
public static void LogAction(string __message, string[] __parameters, string[] __values) => LogGeneric(__message, "ACT", __parameters, __values);
/// <summary>
/// Writes the current message to the log file if the condition is true.
/// </summary>
/// <param name="__condition"> Condition to debug </param>
/// <param name="__message"> Message to debug</param>
public static void AssertAction(bool __condition, string __message) => AssertGeneric(__condition, __message, "ACT", [], []);
/// <summary>
/// Writes the current message to the log file.
/// </summary>
/// <param name="__message"> Message to debug</param>
public static void LogState(string __message) => LogGeneric(__message, "STA", [], []);
/// <summary>
/// Writes the current message to the log file. With any given call sign.
/// </summary>
/// <param name="__message"> Message to debug</param>
/// <param name="__parameters"> Names of values to debug</param>
/// <param name="__values"> Values to debug</param>
public static void LogState(string __message, string[] __parameters, string[] __values) => LogGeneric(__message, "STA", __parameters, __values);
/// <summary>
/// Writes the current message to the log file if the condition is true.
/// </summary>
/// <param name="__condition"> Condition to debug </param>
/// <param name="__message"> Message to debug</param>
public static void AssertState(bool __condition, string __message) => AssertGeneric(__condition, __message, "STA", [], []);
/// <summary>
/// Writes the current message to the log file.
/// </summary>
/// <param name="__message"> Message to debug</param>
public static void LogValue(string __message) => LogGeneric(__message, "VAL", [], []);
/// <summary>
/// Writes the current message to the log file. With any given call sign.
/// </summary>
/// <param name="__message"> Message to debug</param>
/// <param name="__parameters"> Names of values to debug</param>
/// <param name="__values"> Values to debug</param>
public static void LogValue(string __message, string[] __parameters, string[] __values) => LogGeneric(__message, "VAL", __parameters, __values);
/// <summary>
/// Writes the current message to the log file if the condition is true.
/// </summary>
/// <param name="__condition"> Condition to debug </param>
/// <param name="__message"> Message to debug</param>
public static void AssertValue(bool __condition, string __message) => AssertGeneric(__condition, __message, "VAL", [], []);
/// <summary>
/// Writes the current message to the log file.
/// </summary>
/// <param name="__message"> Message to debug</param>
public static void LogWarning(string __message) => LogGeneric(__message, "WAR", [], []);
/// <summary>
/// Writes the current message to the log file. With any given call sign.
/// </summary>
/// <param name="__message"> Message to debug</param>
/// <param name="__parameters"> Names of values to debug</param>
/// <param name="__values"> Values to debug</param>
public static void LogWarning(string __message, string[] __parameters, string[] __values) => LogGeneric(__message, "WAR", __parameters, __values);
/// <summary>
/// Writes the current message to the log file if the condition is true.
/// </summary>
/// <param name="__condition"> Condition to debug </param>
/// <param name="__message"> Message to debug</param>
public static void AssertWarning(bool __condition, string __message) => AssertGeneric(__condition, __message, "WAR", [], []);
/// <summary>
/// Writes the current message to the log file.
/// </summary>
/// <param name="__message"> Message to debug</param>
public static void LogError(string __message) => LogGeneric(__message, "ERR", [], [], ThrowExceptions);
/// <summary>
/// Writes the current message to the log file. With any given call sign.
/// </summary>
/// <param name="__message"> Message to debug</param>
/// <param name="__parameters"> Names of values to debug</param>
/// <param name="__values"> Values to debug</param>
public static void LogError(string __message, string[] __parameters, string[] __values) {
if(DebugErrors) LogGeneric(__message, "ERR", __parameters, __values, ThrowExceptions);
}
/// <summary>
/// Writes the current message to the log file if the condition is true.
/// </summary>
/// <param name="__condition"> Condition to debug </param>
/// <param name="__message"> Message to debug</param>
public static void AssertError(bool __condition, string __message) => AssertGeneric(__condition, __message, "ERR", [], []);
/// <summary>
/// Writes the current message to the log file. With any given call sign.
/// </summary>
/// <param name="__message"> Message to debug</param>
/// <param name="__callSign"> Message identifier</param>
/// <param name="__parameters"> Names of values to debug</param>
/// <param name="__values"> Values to debug</param>
/// <param name="__exception"> Should this throw an exception instead</param>
public static void LogGeneric(string __message, string __callSign, string[] __parameters, string[] __values, bool __exception = false) {
string output = "\n\n" + __callSign + "- \"" + __message + "\"\n STK-" + new StackTrace();
for (int i = 0; i < __parameters.Length || i < __values.Length; i++)
output += "\n " + __parameters[i] + "- " + __values[i];
if (__exception) throw new Exception(output);
File.AppendAllText(LogFilePath, output);
}
/// <summary>
/// Writes the current message to the log file if the condition is true. With any given call sign.
/// </summary>
/// <param name="__condition"> Condition to debug </param>
/// <param name="__message"> Message to debug</param>
/// <param name="__callSign"> Message identifier</param>
/// <param name="__parameters"> Names of values to debug</param>
/// <param name="__values"> Values to debug</param>
public static void AssertGeneric(bool __condition, string __message, string __callSign, string[] __parameters, string[] __values) {
if (!__condition) return;
string output = "\n\n" + __callSign + "- \"" + __message + "\"\n STK-" + new StackTrace();
for (int i = 0; i < __parameters.Length || i < __values.Length; i++)
output += "\n " + __parameters[i] + "- " + __values[i];
File.AppendAllText(LogFilePath, output);
}
public static Debug.SafetyLevel safetyLevel {
get => _safetyLevel;
set {
ThrowExceptions = value is Debug.SafetyLevel.Extreme;
IgnoreErrors = value is Debug.SafetyLevel.Low or Debug.SafetyLevel.None;
DebugErrors = value is not Debug.SafetyLevel.None;
_safetyLevel = value;
}
}
private static Debug.SafetyLevel _safetyLevel;
public static bool ThrowExceptions { get; private set; } = false;
public static bool IgnoreErrors { get; private set; } = false;
public static bool DebugErrors { get; private set; } = true;
public enum SafetyLevel {
Extreme, //Throw exceptions and stop the whole program
Normal, //Just debug it to the console, and halt current process
Low, //Push through tasks but debug error
None, //Ignore most/all errors and do not debug it,
}
}

View File

@@ -1,5 +0,0 @@
Awperative debugger writes errors to file while staying within runtime.
Searches for a file with any specifiable name in config. that must end in .awlf
stands for awperative logging format.

View File

@@ -1,11 +0,0 @@
using System;
namespace AwperativeKernel;
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
public class Show : Attribute
{
public bool UseInspectorDefaults = true;
}

View File

@@ -17,25 +17,19 @@ public static partial class Awperative
{ {
/// <summary> /// <summary> Current Version of Awperative </summary>
/// Current Version of Awperative
/// </summary>
public static string Version = "1.2C"; public static string Version = "1.2C";
/// <summary> /// <summary> Bottom class of Awperative. Contains the OpenTK Instance. </summary>
/// Bottom class of Awperative. Contains the OpenTK Instance.
/// </summary>
[DebugAttributes.NotNull, MarkerAttributes.UnsafeInternal] private static Base Base; [DebugAttributes.NotNull, MarkerAttributes.UnsafeInternal] private static Base Base;
/// <summary> /// <summary> List of all scenes currently loaded in the kernel. </summary>
/// List of all scenes currently loaded in the kernel.
/// </summary>
[MarkerAttributes.CalculatedProperty] [MarkerAttributes.CalculatedProperty]
public static IEnumerable<Scene> Scenes => [.._scenes]; public static IReadOnlySet<Scene> Scenes => _scenes;
[MarkerAttributes.UnsafeInternal] internal static HashSet<Scene> _scenes { get; private set; } = []; [MarkerAttributes.UnsafeInternal] internal static HashSet<Scene> _scenes { get; private set; } = [];
@@ -47,14 +41,17 @@ public static partial class Awperative
/// <summary> Awperative's debugger of choice</summary> /// <summary> Awperative's debugger of choice, found from the module manager.</summary>
[MarkerAttributes.UnsafeInternal]
public static IDebugger Debug { get; set; } public static IDebugger Debug { get; set; }
public static IModuleManager ModuleManager { get; set; } /// <summary> Awperative's module manager of choice, sent in through the Start() function</summary>
[MarkerAttributes.UnsafeInternal]
public static IModuleManager ModuleManager { get; private set; }
/// <summary>
/// Creates a new Scene /// <summary> Creates a new Scene with the given name </summary>
/// </summary> [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public static Scene CreateScene(string __name) { public static Scene CreateScene(string __name) {
if (!ContainsScene(__name)) { if (!ContainsScene(__name)) {
Scene newScene = new Scene(__name); Scene newScene = new Scene(__name);
@@ -65,6 +62,7 @@ public static partial class Awperative
[MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)]
public static void AddScene(Scene __scene) { public static void AddScene(Scene __scene) {
if (!ContainsScene(__scene.Name)) { if (!ContainsScene(__scene.Name)) {
_scenes.Add(__scene); _scenes.Add(__scene);
@@ -73,46 +71,33 @@ public static partial class Awperative
/// <summary> /// <summary> Finds a Scene from a given name </summary>
/// Finds a Scene from a given name [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
/// </summary>
/// <param name="__name"> Name to search for</param>
/// <returns></returns>
public static Scene GetScene(string __name) => _scenes.FirstOrDefault(scene => scene.Name == __name, null); public static Scene GetScene(string __name) => _scenes.FirstOrDefault(scene => scene.Name == __name, null);
/// <summary> /// <summary> Returns bool based on whether there a scene with the given name or not. </summary>
/// Returns bool based on whether there a scene with the given name or not. [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
/// </summary>
/// <param name="__name"> Name of the Scene</param>
/// <returns></returns>
public static bool ContainsScene(string __name) => _scenes.Any(scene => scene.Name == __name); public static bool ContainsScene(string __name) => _scenes.Any(scene => scene.Name == __name);
/// <summary> /// <summary> Closes a Scene </summary>
/// Closes a Scene [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
/// </summary>
/// <param name="__scene"> Scene to close</param>
public static void CloseScene(Scene __scene) => _scenes.Remove(__scene); public static void CloseScene(Scene __scene) => _scenes.Remove(__scene);
/// <summary> /// <summary> Closes a Scene </summary>
/// Closes a Scene [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Medium), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.ON)]
/// </summary>
/// <param name="__name"> Name of the scene</param>
public static void CloseScene(string __name) => _scenes.Remove(GetScene(__name)); public static void CloseScene(string __name) => _scenes.Remove(GetScene(__name));
/// <summary> /// <summary> Gets Awperative ready to begin! Compiles Component functions etc. Please call before doing anything Awperative related! </summary>
/// Gets Awperative ready to begin! Compiles Component functions etc. Please call before doing anything Awperative
/// related!
/// </summary>
public static void Start(string moduleManagerPath) { public static void Start(string moduleManagerPath) {
if (IsStarted) return; if (IsStarted) return;
IsStarted = true; IsStarted = true;

View File

@@ -1,20 +1,20 @@
{ {
"format": 1, "format": 1,
"restore": { "restore": {
"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": {} "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": {}
}, },
"projects": { "projects": {
"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": { "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
"projectUniqueName": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj", "projectUniqueName": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"projectName": "AwperativeKernel", "projectName": "AwperativeKernel",
"projectPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj", "projectPath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"packagesPath": "/home/avery/.nuget/packages/", "packagesPath": "/Users/averynorris/.nuget/packages/",
"outputPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/", "outputPath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"configFilePaths": [ "configFilePaths": [
"/home/avery/.nuget/NuGet/NuGet.Config" "/Users/averynorris/.nuget/NuGet/NuGet.Config"
], ],
"originalTargetFrameworks": [ "originalTargetFrameworks": [
"net8.0" "net8.0"
@@ -38,7 +38,7 @@
"auditLevel": "low", "auditLevel": "low",
"auditMode": "direct" "auditMode": "direct"
}, },
"SdkAnalysisLevel": "9.0.300" "SdkAnalysisLevel": "10.0.100"
}, },
"frameworks": { "frameworks": {
"net8.0": { "net8.0": {
@@ -63,11 +63,11 @@
"downloadDependencies": [ "downloadDependencies": [
{ {
"name": "Microsoft.AspNetCore.App.Ref", "name": "Microsoft.AspNetCore.App.Ref",
"version": "[8.0.24, 8.0.24]" "version": "[8.0.23, 8.0.23]"
}, },
{ {
"name": "Microsoft.NETCore.App.Ref", "name": "Microsoft.NETCore.App.Ref",
"version": "[8.0.24, 8.0.24]" "version": "[8.0.23, 8.0.23]"
} }
], ],
"frameworkReferences": { "frameworkReferences": {
@@ -75,7 +75,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/10.0.102/PortableRuntimeIdentifierGraph.json"
} }
} }
} }

View File

@@ -4,12 +4,12 @@
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess> <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool> <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile> <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/avery/.nuget/packages/</NuGetPackageRoot> <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/Users/averynorris/.nuget/packages/</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/avery/.nuget/packages/</NuGetPackageFolders> <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/Users/averynorris/.nuget/packages/</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle> <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.14.0</NuGetToolVersion> <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' "> <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="/home/avery/.nuget/packages/" /> <SourceRoot Include="/Users/averynorris/.nuget/packages/" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("AwperativeKernel")] [assembly: System.Reflection.AssemblyCompanyAttribute("AwperativeKernel")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+41dbab5ce36d1e19917d80ba23482cbbd5b04533")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+daff25af555790c4cc665d8158c8ec80cf2d5cf2")]
[assembly: System.Reflection.AssemblyProductAttribute("AwperativeKernel")] [assembly: System.Reflection.AssemblyProductAttribute("AwperativeKernel")]
[assembly: System.Reflection.AssemblyTitleAttribute("AwperativeKernel")] [assembly: System.Reflection.AssemblyTitleAttribute("AwperativeKernel")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@@ -1 +1 @@
b1a9e115a38433219f1f2e46313d2b5f0dd905c9ce83715b972f620249d7097d 0205d8c69e5e58efd9ceec6d025aa71702700c3efb6b0341b64d64d2efcda724

View File

@@ -1,5 +1,7 @@
is_global = true is_global = true
build_property.TargetFramework = net8.0 build_property.TargetFramework = net8.0
build_property.TargetFrameworkIdentifier = .NETCoreApp
build_property.TargetFrameworkVersion = v8.0
build_property.TargetPlatformMinVersion = build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb = build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids = build_property.ProjectTypeGuids =
@@ -8,7 +10,7 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules = build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Awperative build_property.RootNamespace = Awperative
build_property.ProjectDir = /home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/ build_property.ProjectDir = /Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/
build_property.EnableComHosting = build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop = build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 8.0 build_property.EffectiveAnalysisLevelStyle = 8.0

View File

@@ -442,19 +442,19 @@
] ]
}, },
"packageFolders": { "packageFolders": {
"/home/avery/.nuget/packages/": {} "/Users/averynorris/.nuget/packages/": {}
}, },
"project": { "project": {
"version": "1.0.0", "version": "1.0.0",
"restore": { "restore": {
"projectUniqueName": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj", "projectUniqueName": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"projectName": "AwperativeKernel", "projectName": "AwperativeKernel",
"projectPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj", "projectPath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"packagesPath": "/home/avery/.nuget/packages/", "packagesPath": "/Users/averynorris/.nuget/packages/",
"outputPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/", "outputPath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/",
"projectStyle": "PackageReference", "projectStyle": "PackageReference",
"configFilePaths": [ "configFilePaths": [
"/home/avery/.nuget/NuGet/NuGet.Config" "/Users/averynorris/.nuget/NuGet/NuGet.Config"
], ],
"originalTargetFrameworks": [ "originalTargetFrameworks": [
"net8.0" "net8.0"
@@ -478,7 +478,7 @@
"auditLevel": "low", "auditLevel": "low",
"auditMode": "direct" "auditMode": "direct"
}, },
"SdkAnalysisLevel": "9.0.300" "SdkAnalysisLevel": "10.0.100"
}, },
"frameworks": { "frameworks": {
"net8.0": { "net8.0": {
@@ -503,11 +503,11 @@
"downloadDependencies": [ "downloadDependencies": [
{ {
"name": "Microsoft.AspNetCore.App.Ref", "name": "Microsoft.AspNetCore.App.Ref",
"version": "[8.0.24, 8.0.24]" "version": "[8.0.23, 8.0.23]"
}, },
{ {
"name": "Microsoft.NETCore.App.Ref", "name": "Microsoft.NETCore.App.Ref",
"version": "[8.0.24, 8.0.24]" "version": "[8.0.23, 8.0.23]"
} }
], ],
"frameworkReferences": { "frameworkReferences": {
@@ -515,7 +515,7 @@
"privateAssets": "all" "privateAssets": "all"
} }
}, },
"runtimeIdentifierGraphPath": "/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json" "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/10.0.102/PortableRuntimeIdentifierGraph.json"
} }
} }
} }

View File

@@ -1,24 +1,24 @@
{ {
"version": 2, "version": 2,
"dgSpecHash": "nvLY3cNblzg=", "dgSpecHash": "LpP/nHq7BJc=",
"success": true, "success": true,
"projectFilePath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj", "projectFilePath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
"expectedPackageFiles": [ "expectedPackageFiles": [
"/home/avery/.nuget/packages/opentk/5.0.0-pre.15/opentk.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk/5.0.0-pre.15/opentk.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.audio/5.0.0-pre.15/opentk.audio.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.audio/5.0.0-pre.15/opentk.audio.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.compute/5.0.0-pre.15/opentk.compute.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.compute/5.0.0-pre.15/opentk.compute.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.core/5.0.0-pre.15/opentk.core.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.core/5.0.0-pre.15/opentk.core.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.graphics/5.0.0-pre.15/opentk.graphics.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.graphics/5.0.0-pre.15/opentk.graphics.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.input/5.0.0-pre.15/opentk.input.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.input/5.0.0-pre.15/opentk.input.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.mathematics/5.0.0-pre.15/opentk.mathematics.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.mathematics/5.0.0-pre.15/opentk.mathematics.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.platform/5.0.0-pre.15/opentk.platform.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.platform/5.0.0-pre.15/opentk.platform.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.redist.glfw/3.4.0.44/opentk.redist.glfw.3.4.0.44.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.redist.glfw/3.4.0.44/opentk.redist.glfw.3.4.0.44.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.windowing.common/5.0.0-pre.15/opentk.windowing.common.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.windowing.common/5.0.0-pre.15/opentk.windowing.common.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.windowing.desktop/5.0.0-pre.15/opentk.windowing.desktop.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.windowing.desktop/5.0.0-pre.15/opentk.windowing.desktop.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/opentk.windowing.graphicslibraryframework/5.0.0-pre.15/opentk.windowing.graphicslibraryframework.5.0.0-pre.15.nupkg.sha512", "/Users/averynorris/.nuget/packages/opentk.windowing.graphicslibraryframework/5.0.0-pre.15/opentk.windowing.graphicslibraryframework.5.0.0-pre.15.nupkg.sha512",
"/home/avery/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", "/Users/averynorris/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"/home/avery/.nuget/packages/microsoft.netcore.app.ref/8.0.24/microsoft.netcore.app.ref.8.0.24.nupkg.sha512", "/Users/averynorris/.nuget/packages/microsoft.netcore.app.ref/8.0.23/microsoft.netcore.app.ref.8.0.23.nupkg.sha512",
"/home/avery/.nuget/packages/microsoft.aspnetcore.app.ref/8.0.24/microsoft.aspnetcore.app.ref.8.0.24.nupkg.sha512" "/Users/averynorris/.nuget/packages/microsoft.aspnetcore.app.ref/8.0.23/microsoft.aspnetcore.app.ref.8.0.23.nupkg.sha512"
], ],
"logs": [] "logs": []
} }

View File

@@ -1 +1 @@
"restore":{"projectUniqueName":"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj","projectName":"AwperativeKernel","projectPath":"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj","outputPath":"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"},"SdkAnalysisLevel":"9.0.300"}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"OpenTK":{"target":"Package","version":"[5.0.0-pre.15, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"downloadDependencies":[{"name":"Microsoft.AspNetCore.App.Ref","version":"[8.0.24, 8.0.24]"},{"name":"Microsoft.NETCore.App.Ref","version":"[8.0.24, 8.0.24]"}],"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json"}} "restore":{"projectUniqueName":"/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj","projectName":"AwperativeKernel","projectPath":"/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj","outputPath":"/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"},"SdkAnalysisLevel":"10.0.100"}"frameworks":{"net8.0":{"targetAlias":"net8.0","dependencies":{"OpenTK":{"target":"Package","version":"[5.0.0-pre.15, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"downloadDependencies":[{"name":"Microsoft.AspNetCore.App.Ref","version":"[8.0.23, 8.0.23]"},{"name":"Microsoft.NETCore.App.Ref","version":"[8.0.23, 8.0.23]"}],"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/usr/local/share/dotnet/sdk/10.0.102/PortableRuntimeIdentifierGraph.json"}}

View File

@@ -1 +1 @@
17722975227348769 17724711122635060

View File

@@ -1 +1 @@
17722975227348769 17724711517868833