NorbiPeti
6204b226d1
- Added support for seat enter and exit events and a test for them - Added support for entering and exiting seat from code - Changed the Id property of ECS objects to non-abstract, requiring it in the constructor, so that the Player class can inherit EcsObjectBase - Added a weird constructor to EcsObjectBase that allows running code to determine the object Id - Added interface for engines that receive entity functions - Exposed the entity submission scheduler and removed it from FullGameFields because it moved from there - Made the Game.Enter event only fire after the first entity submission so the game is fully initialized and the local player exists - Added all seat groups to the dictionary
30 lines
No EOL
781 B
C#
30 lines
No EOL
781 B
C#
using System;
|
|
using Svelto.ECS;
|
|
using TechbloxModdingAPI.Blocks;
|
|
using TechbloxModdingAPI.Utility;
|
|
|
|
namespace TechbloxModdingAPI
|
|
{
|
|
public partial class Player
|
|
{
|
|
internal WrappedHandler<PlayerSeatEventArgs> seatEntered;
|
|
public event EventHandler<PlayerSeatEventArgs> SeatEntered
|
|
{
|
|
add => seatEntered += value;
|
|
remove => seatEntered -= value;
|
|
}
|
|
|
|
internal WrappedHandler<PlayerSeatEventArgs> seatExited;
|
|
public event EventHandler<PlayerSeatEventArgs> SeatExited
|
|
{
|
|
add => seatExited += value;
|
|
remove => seatExited -= value;
|
|
}
|
|
}
|
|
|
|
public struct PlayerSeatEventArgs
|
|
{
|
|
public EGID SeatId;
|
|
public Seat Seat => (Seat)Block.New(SeatId);
|
|
}
|
|
} |