diff --git a/Example.Backend/Program.cs b/Example.Backend/Program.cs
index 8778a07..513f796 100644
--- a/Example.Backend/Program.cs
+++ b/Example.Backend/Program.cs
@@ -13,7 +13,6 @@ class Program
{
public static void Main(string[] args)
{
- new mROA.Codegen.CoCodegenMethodRepository();
new CoCodegenMethodRepository();
var builder = new FullMixBuilder();
// builder.UseJsonSerialisation();
diff --git a/mROA.Codegen/mROA.Codegen.csproj b/mROA.Codegen/mROA.Codegen.csproj
index 7fa5e54..2f199bd 100644
--- a/mROA.Codegen/mROA.Codegen.csproj
+++ b/mROA.Codegen/mROA.Codegen.csproj
@@ -42,15 +42,5 @@
-
- $(GetTargetPathDependsOn);GetDependencyTargetPaths
-
-
-
-
-
-
-
-
diff --git a/mROA.Codegen/mROASourceGenerator.cs b/mROA.Codegen/mROASourceGenerator.cs
index 0b39279..b644989 100644
--- a/mROA.Codegen/mROASourceGenerator.cs
+++ b/mROA.Codegen/mROASourceGenerator.cs
@@ -94,7 +94,7 @@ namespace mROA.Codegen
var invokers = new List();
- var declarations = classes.ToList().OrderBy(i => i.Identifier.Text).ToList();
+ var declarations = classes.ToList();
foreach (var classDeclarationSyntax in declarations)
{
var semanticModel = compilation.GetSemanticModel(classDeclarationSyntax.SyntaxTree);
diff --git a/mROA/Abstract/IEndPointContext.cs b/mROA/Abstract/IEndPointContext.cs
index 8b5db20..ca2a288 100644
--- a/mROA/Abstract/IEndPointContext.cs
+++ b/mROA/Abstract/IEndPointContext.cs
@@ -1,9 +1,12 @@
-namespace mROA.Abstract
+using mROA.Implementation;
+
+namespace mROA.Abstract
{
public interface IEndPointContext : IInjectableModule
{
IInstanceRepository RealRepository { get; }
IInstanceRepository RemoteRepository { get; }
+ ICallIndexProvider CallIndexProvider { get; }
int HostId { get; set; }
int OwnerId { get; set; }
}
diff --git a/mROA/Implementation/Attributes/ApiLevelAttribute.cs b/mROA/Implementation/Attributes/ApiLevelAttribute.cs
new file mode 100644
index 0000000..ccc0146
--- /dev/null
+++ b/mROA/Implementation/Attributes/ApiLevelAttribute.cs
@@ -0,0 +1,18 @@
+using System;
+
+namespace mROA.Implementation.Attributes
+{
+ public class ApiLevelAttribute : Attribute
+ {
+ public int ApiLevel { get; set; }
+ public ApiLevelAttribute(int level)
+ {
+ ApiLevel = level;
+ }
+
+ public ApiLevelAttribute() : this(0)
+ {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/mROA/Implementation/CallIndexConfig.cs b/mROA/Implementation/CallIndexConfig.cs
new file mode 100644
index 0000000..eea747c
--- /dev/null
+++ b/mROA/Implementation/CallIndexConfig.cs
@@ -0,0 +1,16 @@
+using System.Collections.Generic;
+
+namespace mROA.Implementation
+{
+ public class CallIndexConfig : List
+ {
+ }
+
+ public class IndexSpan
+ {
+ public string Identifier { get; set; }
+ public int ApiLevel { get; set; }
+ public int Offset { get; set; }
+ public int Length { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/mROA/Implementation/EndPointContext.cs b/mROA/Implementation/EndPointContext.cs
index 5694614..b99de17 100644
--- a/mROA/Implementation/EndPointContext.cs
+++ b/mROA/Implementation/EndPointContext.cs
@@ -7,9 +7,12 @@ namespace mROA.Implementation
{
public IInstanceRepository RealRepository { get; set; }
public IInstanceRepository RemoteRepository { get; set; }
+ public ICallIndexProvider CallIndexProvider { get; }
+ public CallIndexConfig CallIndexConfig { get; set; }
public int HostId { get; set; }
public int OwnerId { get; set; }
+
public void Inject(T dependency)
{
diff --git a/mROA/Implementation/IdAssignment.cs b/mROA/Implementation/IdAssignment.cs
index 068a5ff..efc6fef 100644
--- a/mROA/Implementation/IdAssignment.cs
+++ b/mROA/Implementation/IdAssignment.cs
@@ -3,7 +3,7 @@ namespace mROA.Implementation
public class IdAssignment : INetworkMessage
{
public int Id { get; set; }
-
+ public CallIndexConfig IndexConfig { get; set; }
public EMessageType MessageType => EMessageType.IdAssigning;
}