mirror of
https://github.com/misternebula/quantum-space-buddies.git
synced 2025-02-10 03:40:01 +00:00
more stuff
This commit is contained in:
parent
9b98a2fff5
commit
90e7a662b0
@ -1,21 +0,0 @@
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace QSB.Events
|
||||
{
|
||||
public class DeathMessage : PlayerMessage
|
||||
{
|
||||
public DeathType DeathType { get; set; }
|
||||
|
||||
public override void Deserialize(NetworkReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
DeathType = (DeathType)reader.ReadInt16();
|
||||
}
|
||||
|
||||
public override void Serialize(NetworkWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write((short)DeathType);
|
||||
}
|
||||
}
|
||||
}
|
@ -11,7 +11,8 @@
|
||||
//new PlayerProbeEvent();
|
||||
//new PlayerSectorChange();
|
||||
new PlayerJoinEvent();
|
||||
//new PlayerLeaveEvent();
|
||||
new PlayerLeaveEvent();
|
||||
new PlayerDeathEvent();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,11 +3,29 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using QSB.Messaging;
|
||||
using QSB.Utility;
|
||||
|
||||
namespace QSB.Events
|
||||
{
|
||||
class PlayerDeathEvent : QSBEvent<PlayerDeathMessage>
|
||||
{
|
||||
public override MessageType Type => MessageType.PlayerDeath;
|
||||
|
||||
public override void SetupListener()
|
||||
{
|
||||
GlobalMessenger<DeathType>.AddListener("QSBPlayerDeath", type => SendEvent(new PlayerDeathMessage { SenderId = PlayerRegistry.LocalPlayer.NetId, DeathType = type }));
|
||||
}
|
||||
|
||||
public override void OnReceive(PlayerDeathMessage message)
|
||||
{
|
||||
var playerName = PlayerRegistry.GetPlayer(message.SenderId).Name;
|
||||
var deathMessage = Necronomicon.GetPhrase(message.DeathType);
|
||||
DebugLog.ToAll(string.Format(deathMessage, playerName));
|
||||
}
|
||||
|
||||
public override void OnReceiveLocal(PlayerDeathMessage message)
|
||||
{
|
||||
OnReceive(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
19
QSB/Events/PlayerSectorEvent.cs
Normal file
19
QSB/Events/PlayerSectorEvent.cs
Normal file
@ -0,0 +1,19 @@
|
||||
using QSB.Messaging;
|
||||
|
||||
namespace QSB.Events
|
||||
{
|
||||
class PlayerSectorEvent : QSBEvent<SectorMessage>
|
||||
{
|
||||
public override MessageType Type => MessageType.PlayerSectorChange;
|
||||
|
||||
public override void SetupListener()
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
public override void OnReceive(SectorMessage message)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace QSB.Events
|
||||
namespace QSB.Messaging
|
||||
{
|
||||
public class PlayerDeathMessage : PlayerMessage
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace QSB.Events
|
||||
namespace QSB.Messaging
|
||||
{
|
||||
public class PlayerJoinMessage : PlayerMessage
|
||||
{
|
||||
|
@ -2,7 +2,7 @@
|
||||
using System.Linq;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace QSB.Events
|
||||
namespace QSB.Messaging
|
||||
{
|
||||
public class PlayerLeaveMessage : PlayerMessage
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
using QSB.Messaging;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace QSB.Events
|
||||
namespace QSB.Messaging
|
||||
{
|
||||
public abstract class PlayerMessage : QSBMessage
|
||||
{
|
||||
|
@ -1,23 +1,20 @@
|
||||
using QSB.Messaging;
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace QSB.TransformSync
|
||||
namespace QSB.Messaging
|
||||
{
|
||||
public class SectorMessage : QSBMessage
|
||||
public class SectorMessage : PlayerMessage
|
||||
{
|
||||
public int SectorId;
|
||||
public uint SenderId;
|
||||
|
||||
public override void Deserialize(NetworkReader reader)
|
||||
{
|
||||
SectorId = reader.ReadInt32();
|
||||
SenderId = reader.ReadPackedUInt32();
|
||||
}
|
||||
|
||||
public override void Serialize(NetworkWriter writer)
|
||||
{
|
||||
writer.Write(SectorId);
|
||||
writer.Write(SenderId);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
using UnityEngine.Networking;
|
||||
|
||||
namespace QSB.Events
|
||||
namespace QSB.Messaging
|
||||
{
|
||||
public class ToggleMessage : PlayerMessage
|
||||
{
|
||||
|
@ -113,9 +113,12 @@
|
||||
<Compile Include="Animation\AnimFloatParam.cs" />
|
||||
<Compile Include="Animation\AnimTriggerMessage.cs" />
|
||||
<Compile Include="Animation\AnimTrigger.cs" />
|
||||
<Compile Include="Events\PlayerDeathEvent.cs" />
|
||||
<Compile Include="Events\PlayerFlashlightEvent.cs" />
|
||||
<Compile Include="Events\PlayerJoinEvent.cs" />
|
||||
<Compile Include="Events\PlayerLeaveEvent.cs" />
|
||||
<Compile Include="Events\PlayerSectorEvent.cs" />
|
||||
<Compile Include="Messaging\PlayerDeathMessage.cs" />
|
||||
<Compile Include="Messaging\PlayerLeaveMessage.cs" />
|
||||
<Compile Include="Events\PlayerProbeLauncherEvent.cs" />
|
||||
<Compile Include="Events\PlayerSignalscopeEvent.cs" />
|
||||
@ -135,7 +138,6 @@
|
||||
<Compile Include="Events\GameState.cs" />
|
||||
<Compile Include="Events\Necronomicon.cs" />
|
||||
<Compile Include="Utility\DebugLog.cs" />
|
||||
<Compile Include="Events\DeathMessage.cs" />
|
||||
<Compile Include="Messaging\PlayerMessage.cs" />
|
||||
<Compile Include="Events\StateRequestMessage.cs" />
|
||||
<Compile Include="Messaging\MessageHandler.cs" />
|
||||
@ -155,7 +157,7 @@
|
||||
<Compile Include="TimeSync\PreserveTimeScale.cs" />
|
||||
<Compile Include="TransformSync\ShipTransformSync.cs" />
|
||||
<Compile Include="TransformSync\TransformSync.cs" />
|
||||
<Compile Include="TransformSync\SectorMessage.cs" />
|
||||
<Compile Include="Messaging\SectorMessage.cs" />
|
||||
<Compile Include="TransformSync\SectorSync.cs" />
|
||||
<Compile Include="TimeSync\WakeUpMessage.cs" />
|
||||
<Compile Include="TimeSync\WakeUpSync.cs" />
|
||||
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<GameDir>C:\Program Files\Epic Games\OuterWilds</GameDir>
|
||||
<OwmlDir>C:\Users\Alek\Documents\Source\OWML\Release</OwmlDir>
|
||||
<GameDir>D:\EpicGames\OuterWilds</GameDir>
|
||||
<OwmlDir>C:\Users\Henry\Downloads\OWModManager\OWML</OwmlDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
||||
<StartWorkingDirectory>C:\Program Files\Epic Games\OuterWilds\OuterWilds_Data\Managed\</StartWorkingDirectory>
|
||||
|
@ -32,8 +32,6 @@ namespace QSB.TimeSync
|
||||
private ShipCockpitController _cockpitController;
|
||||
private PlayerSpacesuit _spaceSuit;
|
||||
|
||||
private MessageHandler<DeathMessage> _deathHandler;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
_instance = this;
|
||||
@ -74,10 +72,6 @@ namespace QSB.TimeSync
|
||||
_shipSpawnPoint.transform.position = shipTransform.position;
|
||||
_shipSpawnPoint.transform.rotation = shipTransform.rotation;
|
||||
}
|
||||
|
||||
_deathHandler = new MessageHandler<DeathMessage>(MessageType.Death);
|
||||
_deathHandler.OnServerReceiveMessage += OnServerReceiveMessage;
|
||||
_deathHandler.OnClientReceiveMessage += OnClientReceiveMessage;
|
||||
}
|
||||
|
||||
public void ResetShip()
|
||||
@ -141,18 +135,6 @@ namespace QSB.TimeSync
|
||||
);
|
||||
}
|
||||
|
||||
private void OnServerReceiveMessage(DeathMessage message)
|
||||
{
|
||||
_deathHandler.SendToAll(message);
|
||||
}
|
||||
|
||||
private void OnClientReceiveMessage(DeathMessage message)
|
||||
{
|
||||
var playerName = PlayerRegistry.GetPlayer(message.SenderId).Name;
|
||||
var deathMessage = Necronomicon.GetPhrase(message.DeathType);
|
||||
DebugLog.ToAll(string.Format(deathMessage, playerName));
|
||||
}
|
||||
|
||||
internal static class Patches
|
||||
{
|
||||
public static bool PreFinishDeathSequence(DeathType deathType)
|
||||
@ -172,14 +154,8 @@ namespace QSB.TimeSync
|
||||
|
||||
public static void BroadcastDeath(DeathType deathType)
|
||||
{
|
||||
var message = new DeathMessage
|
||||
{
|
||||
SenderId = PlayerTransformSync.LocalInstance.netId.Value,
|
||||
DeathType = deathType
|
||||
};
|
||||
_instance._deathHandler.SendToServer(message);
|
||||
GlobalMessenger<DeathType>.FireEvent("QSBPlayerDeath", deathType);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user