Updated KD and ModulLoader
This commit is contained in:
@@ -10,11 +10,11 @@ namespace Firebird2D.Interfaces
|
||||
{
|
||||
public interface IEventBus
|
||||
{
|
||||
public void OnPipelineIsBuild(Action<IPipeline> callback, FirebirdEvent firebirdEvent);
|
||||
public void OnPipelineIsBuild(Action<IPipelineBase> callback, FirebirdEvent firebirdEvent);
|
||||
|
||||
public IPipeline GetOrBuildPipeline(FirebirdEvent type, Type argsType, object master);
|
||||
public IPipeline<T> GetOrBuildPipeline<T>(FirebirdEvent type, object master) where T : EventArgs;
|
||||
|
||||
public IPipeline? GetPipeline(FirebirdEvent type, Type argsType);
|
||||
public IPipelineBase GetPipeline(FirebirdEvent type);
|
||||
|
||||
public void DestroyPipeline(FirebirdEvent type, object master);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Firebird2D.DataypesAndInterfaces.Interfaces
|
||||
{
|
||||
public interface IExtensionBase
|
||||
{
|
||||
public void Startup();
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using Firebird2D.Interfaces;
|
||||
using Firebird2D.DataypesAndInterfaces.Interfaces;
|
||||
using Firebird2D.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -10,5 +11,7 @@ namespace Firebird2D.Interfaces
|
||||
public interface IGame
|
||||
{
|
||||
public IEventBus EventBus { get; set; }
|
||||
|
||||
public IKeyMapper KeyMapper { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
using Firebird2D.Datatypes;
|
||||
using Firebird2D.EventPipelines.EventArguments;
|
||||
using Firebird2D.Interfaces;
|
||||
using SFML.Window;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Firebird2D.DataypesAndInterfaces.Interfaces
|
||||
{
|
||||
public interface IKeyMapper
|
||||
{
|
||||
void RegisterEvent<T>(string EventName, EventHandler<T> handler, FirebirdEvent eventNumber) where T : EventArgs;
|
||||
void Map(string EventName, FirebirdEvent eventNumber);
|
||||
void SaveMapping(string Path);
|
||||
void LoadMapping(string Path);
|
||||
void InvalidatePipelineCache(FirebirdEvent fbEvent);
|
||||
void HandleKeyboardInput(KeyEvent key, InputEventType type);
|
||||
void HandleMouseInput(MouseButtonEvent button, InputEventType type);
|
||||
void HandleJoystickButtonInput(JoystickButtonEvent joystickButton, InputEventType type);
|
||||
void HandleMouseMovement(MouseMoveEvent mouseMove);
|
||||
public void HandleJoytickMove(JoystickMoveEvent joystickMove);
|
||||
}
|
||||
}
|
||||
@@ -6,10 +6,7 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace Firebird2D.Interfaces
|
||||
{
|
||||
/// <summary>
|
||||
/// Interface for the Firebird event Pipeline
|
||||
/// </summary>
|
||||
public interface IPipeline
|
||||
public interface IPipelineBase
|
||||
{
|
||||
/// <summary>
|
||||
/// Class witch owns the Pipeline and has the right to send events or delete the pipeline
|
||||
@@ -30,6 +27,15 @@ namespace Firebird2D.Interfaces
|
||||
/// </summary>
|
||||
/// <param name="handler">Handler witch should be removed from the Pipeline</param>
|
||||
void Unsubscribe(Delegate handler);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Interface for the Firebird event Pipeline
|
||||
/// </summary>
|
||||
public interface IPipeline<T> : IPipelineBase where T : EventArgs
|
||||
{
|
||||
|
||||
|
||||
void SendEvent(object sender, T args);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user