Nearly Finished
This commit is contained in:
@@ -10,4 +10,7 @@
|
||||
<ItemGroup>
|
||||
<PackageReference Include="OpenTK" Version="5.0.0-pre.15" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Kernel\ComponentDocker\Attributes\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -293,6 +293,56 @@ public class ValueFitsRange : Attribute
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Requires that the index fits a given collection
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.All)]
|
||||
public class CollectionContains : Attribute
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Verifies if the value fits a range
|
||||
/// </summary>
|
||||
/// <param name="__componentDocker"></param>
|
||||
/// <returns></returns>
|
||||
public static bool VerifyOrThrow<__Type>(__Type __object, ICollection<__Type> __collection) {
|
||||
if(__collection.Contains(__object)) return true;
|
||||
|
||||
Debug.LogError("Collection does not contain object!", ["ObjectType"],
|
||||
[__object.GetType().Name]);
|
||||
|
||||
return Awperative.IgnoreErrors;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Requires that the index fits a given collection
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.All)]
|
||||
public class CollectionDoesntContain : Attribute
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Verifies if the value fits a range
|
||||
/// </summary>
|
||||
/// <param name="__componentDocker"></param>
|
||||
/// <returns></returns>
|
||||
public static bool VerifyOrThrow<__Type>(__Type __object, ICollection<__Type> __collection) {
|
||||
if(!__collection.Contains(__object)) return true;
|
||||
|
||||
Debug.LogError("Collection already contains object!", ["ObjectType"],
|
||||
[__object.GetType().Name]);
|
||||
|
||||
return Awperative.IgnoreErrors;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Shows that the given object is unsafe (ex. it doesn't check for null values and such, or it doesn't have guardrails based on cases).
|
||||
/// This is just for internal/private methods to remind myself how to call it :) The reasoning is case by case, but most of the time,
|
||||
@@ -19,7 +19,8 @@ public abstract partial class Component : ComponentDocker, IDisposable
|
||||
|
||||
|
||||
/// <summary> Current parent of the Component. Can be either Scene or another Component.</summary>
|
||||
public ComponentDocker ComponentDocker { get; internal set; } = null;
|
||||
[UnsafeInternal]
|
||||
internal ComponentDocker ComponentDocker { get; set; } = null;
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -29,7 +30,7 @@ public abstract partial class Component : ComponentDocker, IDisposable
|
||||
public string Name {
|
||||
get => _name;
|
||||
set { if (!NotNull.VerifyOrThrow(value)) return; _name = value; }
|
||||
} private string _name;
|
||||
} [UnsafeInternal] private string _name;
|
||||
|
||||
|
||||
/// <summary> Represents the state of this Component, The largest bit represents if the Component is enabled or not, while the
|
||||
@@ -38,14 +39,14 @@ public abstract partial class Component : ComponentDocker, IDisposable
|
||||
private byte OrderProfile;
|
||||
|
||||
/// <summary> If the component receives time events or not. </summary>
|
||||
[CalculatedProperty] [CalculatedPropertyExpense("Very Low")]
|
||||
[CalculatedProperty, CalculatedPropertyExpense("Very Low")]
|
||||
public bool Enabled {
|
||||
get => (OrderProfile & 128) > 0;
|
||||
set => OrderProfile = (byte)((OrderProfile & 127) | (value ? 128 : 0));
|
||||
}
|
||||
|
||||
/// <summary> Represents the Component's Update priority, can be set to any value ranging from -64 to 63; otherwise an error will throw! </summary>
|
||||
[CalculatedProperty] [CalculatedPropertyExpense("Very Low")]
|
||||
[CalculatedProperty, CalculatedPropertyExpense("Very Low")]
|
||||
public int Priority {
|
||||
get => (sbyte)(OrderProfile << 1) >> 1;
|
||||
set {
|
||||
@@ -59,36 +60,22 @@ public abstract partial class Component : ComponentDocker, IDisposable
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Scene the Component resides in.
|
||||
/// Attempts to send an Event to the Component, terminates if the Component does not have the given Event
|
||||
/// </summary>
|
||||
public Scene Scene => __QueryScene();
|
||||
protected Scene __QueryScene() {
|
||||
if (ComponentDocker is Scene scene) return scene;
|
||||
if (ComponentDocker is Component Component) return Component.__QueryScene();
|
||||
|
||||
return null;
|
||||
/// <param name="__timeEvent">Type of Event</param>
|
||||
[UnsafeInternal]
|
||||
internal void TryEvent(int __timeEvent) {
|
||||
Awperative._TypeAssociatedTimeEvents[GetType()][__timeEvent]?.Invoke(this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void TryEvent(int __timeEvent) {
|
||||
Action<Component> eventDelegates = Awperative._TypeAssociatedTimeEvents[GetType()][__timeEvent];
|
||||
eventDelegates?.Invoke(this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Identifiers for Components.
|
||||
/// </summary>
|
||||
public ImmutableArray<string> Tags => [.._tags];
|
||||
internal HashSet<string> _tags = [];
|
||||
public IReadOnlyList<string> Tags => [.._tags];
|
||||
[UnsafeInternal] internal HashSet<string> _tags = [];
|
||||
|
||||
|
||||
|
||||
@@ -98,44 +85,13 @@ public abstract partial class Component : ComponentDocker, IDisposable
|
||||
/// Adds a new tag to the Component
|
||||
/// </summary>
|
||||
/// <param name="__tag"> The tag to add</param>
|
||||
public void AddTag(string __tag) => ComponentDocker.HashTaggedComponent(this, __tag);
|
||||
public void AddTag([NotNull, CollectionDoesntContain] string __tag)
|
||||
{
|
||||
if(!NotNull.VerifyOrThrow(__tag)) return;
|
||||
if(!CollectionDoesntContain.VerifyOrThrow(__tag, _tags)) return;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Removes a tag from the Component
|
||||
/// </summary>
|
||||
/// <param name="__tag"> The tag to remove</param>
|
||||
public void RemoveTag(string __tag) => ComponentDocker.UnhashTaggedComponent(this, __tag);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// All parent Dockers and the parents of the parents up until the Scene. Will only list parents of parents, not uncle dockers.
|
||||
/// </summary>
|
||||
/// <remarks> Dockers[0] is the parent of this object, and Dockers[^1] is the Scene.</remarks>
|
||||
public ImmutableArray<ComponentDocker> Dockers => __QueryDockers();
|
||||
protected ImmutableArray<ComponentDocker> __QueryDockers() {
|
||||
List<ComponentDocker> returnValue = [];
|
||||
ComponentDocker currentComponentDocker = ComponentDocker;
|
||||
|
||||
while (!(currentComponentDocker is Scene)) {
|
||||
if (currentComponentDocker is Component Component) {
|
||||
returnValue.Add(currentComponentDocker);
|
||||
currentComponentDocker = Component.ComponentDocker;
|
||||
} else {
|
||||
Debug.LogError("Component has a Parent that is not a Scene or Component, Please do not use the Docker class unless you know what you are doing!", ["Component", "Type", "Docker"],
|
||||
[GetHashCode().ToString(), GetType().ToString(), ComponentDocker.GetHashCode().ToString()]);
|
||||
}
|
||||
}
|
||||
|
||||
returnValue.Add(currentComponentDocker);
|
||||
|
||||
return [..returnValue];
|
||||
_tags.Add(__tag);
|
||||
ComponentDocker.AddTagToComponent(__tag, this);
|
||||
}
|
||||
|
||||
|
||||
@@ -143,79 +99,23 @@ public abstract partial class Component : ComponentDocker, IDisposable
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Returns the Parent Component. Will be null if the Component is under a scene.
|
||||
/// Adds a new tag to the Component
|
||||
/// </summary>
|
||||
public Component Parent => __QueryParent();
|
||||
protected Component __QueryParent() {
|
||||
if (ComponentDocker is Component Component)
|
||||
return Component;
|
||||
return null;
|
||||
/// <param name="__tag"> The tag to add</param>
|
||||
public void RemoveTag([NotNull,CollectionContains] string __tag)
|
||||
{
|
||||
if (!NotNull.VerifyOrThrow(__tag)) return;
|
||||
if(!CollectionContains.VerifyOrThrow(__tag, _tags)) return;
|
||||
|
||||
_tags.Remove(__tag);
|
||||
ComponentDocker.RemoveTagFromComponent(__tag, this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// All parent Components and the parents of the parents up until the Scene. Will only list parents of parents, not uncle Components.
|
||||
/// </summary>
|
||||
public ImmutableArray<Component> Parents => __QueryComponents();
|
||||
protected ImmutableArray<Component> __QueryComponents() {
|
||||
List<Component> returnValue = [];
|
||||
ComponentDocker currentComponentDocker = ComponentDocker;
|
||||
|
||||
while (!(currentComponentDocker is Scene))
|
||||
if (currentComponentDocker is Component Component) {
|
||||
returnValue.Add(Component);
|
||||
currentComponentDocker = Component.ComponentDocker;
|
||||
}
|
||||
return [..returnValue];
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new Scene
|
||||
/// </summary>
|
||||
/// <param name="__name">Name of the Scene</param>
|
||||
public Scene CreateScene(string __name) => Awperative.CreateScene(__name);
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Finds a scene.
|
||||
/// </summary>
|
||||
/// <param name="__name">Name of the Scene</param>
|
||||
/// <returns></returns>
|
||||
public Scene GetScene(string __name) => Awperative.GetScene(__name);
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Destroys a Scene forever
|
||||
/// </summary>
|
||||
/// <param name="__scene"> Target scene</param>
|
||||
public void RemoveScene(Scene __scene) => Awperative.CloseScene(__scene);
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Destroys a Scene forever
|
||||
/// </summary>
|
||||
/// <param name="__name">Name of the Scene</param>
|
||||
public void RemoveScene(string __name) => Awperative.CloseScene(__name);
|
||||
|
||||
|
||||
|
||||
public ImmutableArray<Component> GetAllChildren() {
|
||||
List<Component> targets = [.._components];
|
||||
for (int i = 0; i < targets.Count; i++) targets.InsertRange(i + 1, targets[i]._components);
|
||||
return [..targets];
|
||||
}
|
||||
|
||||
public virtual void Dispose() {
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
public virtual void Dispose() { GC.SuppressFinalize(this); }
|
||||
|
||||
public override string ToString() {
|
||||
return this.Name;
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AwperativeKernel;
|
||||
|
||||
public abstract partial class Component
|
||||
{
|
||||
/// <summary>
|
||||
/// Scene the Component resides in.
|
||||
/// </summary>
|
||||
[CalculatedProperty, CalculatedPropertyExpense("Medium: O(Parents)")]
|
||||
public Scene Scene => __QueryScene();
|
||||
private Scene __QueryScene() {
|
||||
if (ComponentDocker is Scene scene) return scene;
|
||||
if (ComponentDocker is Component Component) return Component.__QueryScene();
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Returns the Parent Component. Will be null if the Component is at the base of a scene.
|
||||
/// </summary>
|
||||
[CalculatedProperty, CalculatedPropertyExpense("Very Low O(1)")]
|
||||
public Component Parent => __QueryParent();
|
||||
private Component __QueryParent() {
|
||||
if (ComponentDocker is Component Component)
|
||||
return Component;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// All parent Components and the parents of the parents up until the Scene. Will only list parents of parents, not uncle Components.
|
||||
/// </summary>
|
||||
[CalculatedProperty, CalculatedPropertyExpense("Medium O(Parents)")]
|
||||
public IReadOnlyList<Component> AllParents => __QueryComponents();
|
||||
private IReadOnlyList<Component> __QueryComponents() {
|
||||
List<Component> returnValue = [];
|
||||
ComponentDocker currentComponentDocker = ComponentDocker;
|
||||
|
||||
while (!(currentComponentDocker is Scene))
|
||||
if (currentComponentDocker is Component Component) {
|
||||
returnValue.Add(Component);
|
||||
currentComponentDocker = Component.ComponentDocker;
|
||||
}
|
||||
return [..returnValue];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
32
AwperativeKernel/Kernel/Component/ComponentLambda.cs
Normal file
32
AwperativeKernel/Kernel/Component/ComponentLambda.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
namespace AwperativeKernel;
|
||||
|
||||
public abstract partial class Component
|
||||
{
|
||||
#region Scenes
|
||||
|
||||
/// <inheritdoc cref="Awperative.CreateScene"/>
|
||||
public static Scene CreateScene(string __name) => Awperative.CreateScene(__name);
|
||||
|
||||
|
||||
|
||||
/// <inheritdoc cref="Awperative.GetScene"/>
|
||||
public static Scene GetScene(string __name) => Awperative.GetScene(__name);
|
||||
|
||||
|
||||
|
||||
/// <inheritdoc cref="Awperative.CloseScene(AwperativeKernel.Scene)"/>
|
||||
public void RemoveScene(Scene __scene) => Awperative.CloseScene(__scene);
|
||||
|
||||
|
||||
|
||||
/// <inheritdock cref="Awperative.CloseScene(string)" />
|
||||
public void RemoveScene(string __name) => Awperative.CloseScene(__name);
|
||||
|
||||
#endregion
|
||||
|
||||
#region Components
|
||||
|
||||
public void Move(ComponentDocker __newDocker) => ComponentDocker.Move(this, __newDocker);
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -20,17 +20,14 @@ public abstract partial class ComponentDocker : IEnumerable, IEnumerable<Compone
|
||||
//Blocks external inheritance
|
||||
internal ComponentDocker() {}
|
||||
|
||||
/// <summary>
|
||||
/// Core of Docker, contains all of our precious Components. Sorts them by their priorities with highest going first.
|
||||
/// If they are equal it defaults to hash codes to ensure consistent Behavior
|
||||
/// </summary>
|
||||
|
||||
|
||||
/// <summary> Core of the Docker, holds all of the Components, sorted by update priority.</summary>
|
||||
[UnsafeInternal] internal List<Component> _components = new();
|
||||
[UnsafeInternal] internal readonly List<Component> _components = [];
|
||||
/// <summary> Holds a list of Components at each of their types. This optimizes Get<Type> to O(1) </summary>
|
||||
[UnsafeInternal] internal Dictionary<Type, HashSet<Component>> _componentTypeDictionary = new();
|
||||
[UnsafeInternal] internal readonly Dictionary<Type, HashSet<Component>> _componentTypeDictionary = new();
|
||||
/// <summary> Stores a Component in a list at each of their tags. This optimizes Get(string tag) to O(1)</summary>
|
||||
[UnsafeInternal] internal Dictionary<string, HashSet<Component>> _componentTagDictionary = new();
|
||||
[UnsafeInternal] internal readonly Dictionary<string, HashSet<Component>> _componentTagDictionary = new();
|
||||
|
||||
|
||||
|
||||
@@ -50,9 +47,6 @@ public abstract partial class ComponentDocker : IEnumerable, IEnumerable<Compone
|
||||
public IEnumerator<Component> GetEnumerator() { return new ComponentDockEnum([.._components]); }
|
||||
|
||||
|
||||
/// <summary> List of all Components belonging to the Docker, Please Use Add, Get, Move and Destroy to modify it </summary>
|
||||
public IReadOnlyList<Component> Components => _components;
|
||||
|
||||
/// <summary>Amount of Components attached to the Docker</summary>
|
||||
public int Count => _components.Count;
|
||||
|
||||
@@ -113,7 +107,7 @@ public abstract partial class ComponentDocker : IEnumerable, IEnumerable<Compone
|
||||
_components.Add(__component);
|
||||
if (!_componentTypeDictionary.TryAdd(Type, [__component])) _componentTypeDictionary[Type].Add(__component);
|
||||
|
||||
for(var i = 0; i < __component.Tags.Length; i++) { AddTagToComponent(__component.Tags[i], __component); }
|
||||
foreach (var tag in __component._tags) RemoveTagFromComponent(tag, __component);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -127,7 +121,7 @@ public abstract partial class ComponentDocker : IEnumerable, IEnumerable<Compone
|
||||
|
||||
if(!_componentTypeDictionary.ContainsKey(Type)) _componentTypeDictionary[Type].Remove(__component);
|
||||
|
||||
for(var i = 0; i < __component.Tags.Length; i++) { RemoveTagFromComponent(__component.Tags[i], __component); }
|
||||
foreach (var tag in __component._tags) AddTagToComponent(tag, __component);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -136,7 +130,7 @@ public abstract partial class ComponentDocker : IEnumerable, IEnumerable<Compone
|
||||
/// <param name="__tag">Tag to add</param>
|
||||
/// <param name="__component">Component to add it to</param>
|
||||
[UnsafeInternal]
|
||||
private void AddTagToComponent(string __tag, Component __component) {
|
||||
internal void AddTagToComponent(string __tag, Component __component) {
|
||||
if (!_componentTagDictionary.TryAdd(__tag, [__component]))
|
||||
_componentTagDictionary[__tag].Add(__component);
|
||||
}
|
||||
@@ -147,8 +141,29 @@ public abstract partial class ComponentDocker : IEnumerable, IEnumerable<Compone
|
||||
/// <param name="__tag">Tag to remove</param>
|
||||
/// <param name="__component">Component to remove it from</param>
|
||||
[UnsafeInternal]
|
||||
private void RemoveTagFromComponent(string __tag, Component __component) {
|
||||
internal void RemoveTagFromComponent(string __tag, Component __component) {
|
||||
if(!_componentTagDictionary.ContainsKey(__tag)) _componentTagDictionary[__tag].Remove(__component);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// All children belonging to the Component.
|
||||
/// </summary>
|
||||
[CalculatedProperty, CalculatedPropertyExpense("Very Low")]
|
||||
public IReadOnlyList<Component> Children => _components;
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// All children and their children until the bottom of the scene. Uses Breadth First Search.
|
||||
/// </summary>
|
||||
[CalculatedProperty, CalculatedPropertyExpense("Medium O(Children)")]
|
||||
public IReadOnlyList<Component> AllChildren => GetAllChildren();
|
||||
public IReadOnlyList<Component> GetAllChildren() {
|
||||
List<Component> targets = [.._components];
|
||||
for (int i = 0; i < targets.Count; i++) targets.InsertRange(i + 1, targets[i]._components);
|
||||
return [..targets];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -48,11 +48,11 @@ public abstract partial class ComponentDocker
|
||||
/// <typeparam name="__Type"> Type of Component to instantiate</typeparam>
|
||||
/// <remarks>Component cannot have a Constructor</remarks>
|
||||
/// <author> Avery Norris</author>
|
||||
public __Type Add<__Type>(string name = null, int priority = 0, Collection<string> tags = null) where __Type : Component, new() {
|
||||
public __Type Add<__Type>(string name = null, [ValueFitsRange] int priority = 0, Collection<string> tags = null) where __Type : Component, new() {
|
||||
Component newComponent = new __Type();
|
||||
newComponent.Name = name ??= typeof(__Type).Name;
|
||||
newComponent._tags = [..tags ??= []];
|
||||
newComponent._priority = priority;
|
||||
newComponent.Priority = priority;
|
||||
|
||||
InitiateComponent(newComponent); return (__Type)newComponent;
|
||||
}
|
||||
@@ -170,7 +170,7 @@ public abstract partial class ComponentDocker
|
||||
/// Destroys all Components from a given collection.
|
||||
/// </summary>
|
||||
/// <param name="__Components"></param>
|
||||
public void DestroyAll([ComponentNotNull, DockerOwns] Collection<Component> __Components) { for (var i = 0; i < __Components.Count; i++) Destroy(__Components[i]); }
|
||||
public void DestroyAll([ComponentNotNull, DockerOwns] IReadOnlyList<Component> __Components) { for (var i = 0; i < __Components.Count; i++) Destroy(__Components[i]); }
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": {}
|
||||
"/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": {
|
||||
"/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"projectUniqueName": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"projectName": "AwperativeKernel",
|
||||
"projectPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"packagesPath": "/home/avery/.nuget/packages/",
|
||||
"outputPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/",
|
||||
"projectPath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"packagesPath": "/Users/averynorris/.nuget/packages/",
|
||||
"outputPath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"/home/avery/.nuget/NuGet/NuGet.Config"
|
||||
"/Users/averynorris/.nuget/NuGet/NuGet.Config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net8.0"
|
||||
@@ -38,7 +38,7 @@
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "9.0.300"
|
||||
"SdkAnalysisLevel": "10.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0": {
|
||||
@@ -63,11 +63,11 @@
|
||||
"downloadDependencies": [
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App.Ref",
|
||||
"version": "[8.0.24, 8.0.24]"
|
||||
"version": "[8.0.23, 8.0.23]"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.NETCore.App.Ref",
|
||||
"version": "[8.0.24, 8.0.24]"
|
||||
"version": "[8.0.23, 8.0.23]"
|
||||
}
|
||||
],
|
||||
"frameworkReferences": {
|
||||
@@ -75,7 +75,7 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/10.0.102/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/avery/.nuget/packages/</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/avery/.nuget/packages/</NuGetPackageFolders>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/Users/averynorris/.nuget/packages/</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/Users/averynorris/.nuget/packages/</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.14.0</NuGetToolVersion>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="/home/avery/.nuget/packages/" />
|
||||
<SourceRoot Include="/Users/averynorris/.nuget/packages/" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("AwperativeKernel")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+89daba3278f3425069ad72c1e889e2d5c12ffebb")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4a9f3d4476aad85ea81cf5539e1cbe307a50bee5")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("AwperativeKernel")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("AwperativeKernel")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
@@ -1 +1 @@
|
||||
fd20f709f0c09dd5820bb098e786f44ec3ff4e66593743fc97dd004440680728
|
||||
d26fbee268a2a19e12312d333a763a70899a64f6b3b49b30e13a2696cde111a2
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net8.0
|
||||
build_property.TargetFrameworkIdentifier = .NETCoreApp
|
||||
build_property.TargetFrameworkVersion = v8.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
@@ -8,7 +10,7 @@ build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
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.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 8.0
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
||||
fb1e5e1f7af8237ad8bd2d22975bb0a75e1f0b64faaaa35af565406d250bd296
|
||||
d99749faea945604824f7022f457f0974d512ed438f5f0cc6813de62d37d1f41
|
||||
|
||||
@@ -25,3 +25,11 @@
|
||||
/home/avery/Projects/Awperative/Build/Kernel/net8.0/AwperativeKernel.deps.json
|
||||
/home/avery/Projects/Awperative/Build/Kernel/net8.0/AwperativeKernel.dll
|
||||
/home/avery/Projects/Awperative/Build/Kernel/net8.0/AwperativeKernel.pdb
|
||||
/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.AssemblyReference.cache
|
||||
/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.GeneratedMSBuildEditorConfig.editorconfig
|
||||
/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache
|
||||
/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs
|
||||
/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.CoreCompileInputs.cache
|
||||
/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.dll
|
||||
/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/refint/AwperativeKernel.dll
|
||||
/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -442,19 +442,19 @@
|
||||
]
|
||||
},
|
||||
"packageFolders": {
|
||||
"/home/avery/.nuget/packages/": {}
|
||||
"/Users/averynorris/.nuget/packages/": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"projectUniqueName": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"projectName": "AwperativeKernel",
|
||||
"projectPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"packagesPath": "/home/avery/.nuget/packages/",
|
||||
"outputPath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/obj/",
|
||||
"projectPath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"packagesPath": "/Users/averynorris/.nuget/packages/",
|
||||
"outputPath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/obj/",
|
||||
"projectStyle": "PackageReference",
|
||||
"configFilePaths": [
|
||||
"/home/avery/.nuget/NuGet/NuGet.Config"
|
||||
"/Users/averynorris/.nuget/NuGet/NuGet.Config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net8.0"
|
||||
@@ -478,7 +478,7 @@
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "9.0.300"
|
||||
"SdkAnalysisLevel": "10.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"net8.0": {
|
||||
@@ -503,11 +503,11 @@
|
||||
"downloadDependencies": [
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App.Ref",
|
||||
"version": "[8.0.24, 8.0.24]"
|
||||
"version": "[8.0.23, 8.0.23]"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.NETCore.App.Ref",
|
||||
"version": "[8.0.24, 8.0.24]"
|
||||
"version": "[8.0.23, 8.0.23]"
|
||||
}
|
||||
],
|
||||
"frameworkReferences": {
|
||||
@@ -515,7 +515,7 @@
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json"
|
||||
"runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/10.0.102/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "nvLY3cNblzg=",
|
||||
"dgSpecHash": "LpP/nHq7BJc=",
|
||||
"success": true,
|
||||
"projectFilePath": "/home/avery/Projects/Awperative/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"projectFilePath": "/Users/averynorris/RiderProjects/AwperativeKernel/AwperativeKernel/AwperativeKernel.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"/home/avery/.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",
|
||||
"/home/avery/.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",
|
||||
"/home/avery/.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",
|
||||
"/home/avery/.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",
|
||||
"/home/avery/.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",
|
||||
"/home/avery/.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",
|
||||
"/home/avery/.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",
|
||||
"/home/avery/.nuget/packages/microsoft.aspnetcore.app.ref/8.0.24/microsoft.aspnetcore.app.ref.8.0.24.nupkg.sha512"
|
||||
"/Users/averynorris/.nuget/packages/opentk/5.0.0-pre.15/opentk.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",
|
||||
"/Users/averynorris/.nuget/packages/opentk.compute/5.0.0-pre.15/opentk.compute.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",
|
||||
"/Users/averynorris/.nuget/packages/opentk.graphics/5.0.0-pre.15/opentk.graphics.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",
|
||||
"/Users/averynorris/.nuget/packages/opentk.mathematics/5.0.0-pre.15/opentk.mathematics.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",
|
||||
"/Users/averynorris/.nuget/packages/opentk.redist.glfw/3.4.0.44/opentk.redist.glfw.3.4.0.44.nupkg.sha512",
|
||||
"/Users/averynorris/.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.desktop/5.0.0-pre.15/opentk.windowing.desktop.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",
|
||||
"/Users/averynorris/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
|
||||
"/Users/averynorris/.nuget/packages/microsoft.netcore.app.ref/8.0.23/microsoft.netcore.app.ref.8.0.23.nupkg.sha512",
|
||||
"/Users/averynorris/.nuget/packages/microsoft.aspnetcore.app.ref/8.0.23/microsoft.aspnetcore.app.ref.8.0.23.nupkg.sha512"
|
||||
],
|
||||
"logs": []
|
||||
}
|
||||
@@ -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"}}
|
||||
@@ -1 +1 @@
|
||||
17713784696110717
|
||||
17722910163812180
|
||||
@@ -1 +1 @@
|
||||
17713784696110717
|
||||
17722910991366692
|
||||
Reference in New Issue
Block a user