cleanup, fixed animation

This commit is contained in:
Mister_Nebula 2020-11-10 09:05:27 +00:00
parent cfe5f0bfc5
commit 8e2ab06074
9 changed files with 27 additions and 60 deletions

View File

@ -103,7 +103,6 @@ namespace QSB.Animation
public void InitLocal(Transform body)
{
DebugLog.DebugWrite($"InitLocal ({PlayerId})");
InitCommon(body);
_playerController = body.parent.GetComponent<PlayerCharacterController>();
@ -116,7 +115,6 @@ namespace QSB.Animation
public void InitRemote(Transform body)
{
DebugLog.DebugWrite($"InitRemote ({PlayerId})");
InitCommon(body);
var playerAnimController = body.GetComponent<PlayerAnimController>();

View File

@ -1,10 +1,10 @@
using QSB.EventsCore;
using QSB.MessagesCore;
using QSB.Player;
using QSB.Utility;
namespace QSB.Animation.Events
{
public class ChangeAnimTypeEvent : QSBEvent<ChangeAnimTypeMessage>
public class ChangeAnimTypeEvent : QSBEvent<EnumMessage<AnimationType>>
{
public override EventType Type => EventType.PlayInstrument;
@ -14,16 +14,15 @@ namespace QSB.Animation.Events
private void Handler(uint player, AnimationType type) => SendEvent(CreateMessage(player, type));
private ChangeAnimTypeMessage CreateMessage(uint player, AnimationType type) => new ChangeAnimTypeMessage
private EnumMessage<AnimationType> CreateMessage(uint player, AnimationType type) => new EnumMessage<AnimationType>
{
AboutId = player,
Type = type
Value = type
};
public override void OnReceiveRemote(ChangeAnimTypeMessage message)
public override void OnReceiveRemote(EnumMessage<AnimationType> message)
{
DebugLog.DebugWrite($"ChangeAnimType for {message.AboutId} - {message.Type}");
QSBPlayerManager.GetPlayer(message.AboutId).Animator.SetAnimationType(message.Type);
QSBPlayerManager.GetPlayer(message.AboutId).Animator.SetAnimationType(message.Value);
}
}
}

View File

@ -1,7 +1,6 @@
using QSB.EventsCore;
using QSB.Messaging;
using QSB.Player;
using QSB.Utility;
namespace QSB.Animation
{
@ -32,25 +31,20 @@ namespace QSB.Animation
public override void OnReceiveRemote(ToggleMessage message)
{
DebugLog.DebugWrite($"remote suit {(message.ToggleValue ? "on" : "off")} player {message.AboutId}");
var player = QSBPlayerManager.GetPlayer(message.AboutId);
player?.UpdateState(State.Suit, message.ToggleValue);
var animator = player.Animator;
var type = message.ToggleValue ? AnimationType.PlayerSuited : AnimationType.PlayerUnsuited;
animator.SetAnimationType(type);
}
public override void OnReceiveLocal(ToggleMessage message)
{
DebugLog.DebugWrite($"local suit {(message.ToggleValue ? "on" : "off")}");
QSBPlayerManager.LocalPlayer.UpdateState(State.Suit, message.ToggleValue);
var animator = QSBPlayerManager.LocalPlayer.Animator;
if (message.ToggleValue)
{
animator.CurrentType = AnimationType.PlayerSuited;
}
else
{
animator.CurrentType = AnimationType.PlayerUnsuited;
}
animator.Mirror.RebuildFloatParams();
var type = message.ToggleValue ? AnimationType.PlayerSuited : AnimationType.PlayerUnsuited;
animator.CurrentType = type;
}
}
}

View File

@ -1,8 +1,6 @@
using QSB.Animation.Events;
using QSB.Utility;
using UnityEngine;
using UnityEngine.Networking;
using Object = UnityEngine.Object;
namespace QSB.Animation
{

View File

@ -1,10 +1,11 @@
using QSB.EventsCore;
using QSB.MessagesCore;
using QSB.Player;
using QSB.Utility;
namespace QSB.DeathSync.Events
{
public class PlayerDeathEvent : QSBEvent<PlayerDeathMessage>
public class PlayerDeathEvent : QSBEvent<EnumMessage<DeathType>>
{
public override EventType Type => EventType.PlayerDeath;
@ -14,19 +15,19 @@ namespace QSB.DeathSync.Events
private void Handler(DeathType type) => SendEvent(CreateMessage(type));
private PlayerDeathMessage CreateMessage(DeathType type) => new PlayerDeathMessage
private EnumMessage<DeathType> CreateMessage(DeathType type) => new EnumMessage<DeathType>
{
AboutId = LocalPlayerId,
DeathType = type
Value = type
};
public override void OnReceiveRemote(PlayerDeathMessage message)
public override void OnReceiveRemote(EnumMessage<DeathType> message)
{
var playerName = QSBPlayerManager.GetPlayer(message.AboutId).Name;
var deathMessage = Necronomicon.GetPhrase(message.DeathType);
var deathMessage = Necronomicon.GetPhrase(message.Value);
DebugLog.ToAll(string.Format(deathMessage, playerName));
}
public override void OnReceiveLocal(PlayerDeathMessage message) => OnReceiveRemote(message);
public override void OnReceiveLocal(EnumMessage<DeathType> message) => OnReceiveRemote(message);
}
}

View File

@ -1,22 +0,0 @@
using QSB.Messaging;
using UnityEngine.Networking;
namespace QSB.DeathSync.Events
{
public class PlayerDeathMessage : 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);
}
}
}

View File

@ -1,22 +1,22 @@
using QSB.Messaging;
using UnityEngine.Networking;
namespace QSB.Animation.Events
namespace QSB.MessagesCore
{
public class ChangeAnimTypeMessage : PlayerMessage
public class EnumMessage<T> : PlayerMessage
{
public AnimationType Type;
public T Value;
public override void Deserialize(NetworkReader reader)
{
base.Deserialize(reader);
Type = (AnimationType)reader.ReadInt32();
Value = (T)(object)reader.ReadInt32();
}
public override void Serialize(NetworkWriter writer)
{
base.Serialize(writer);
writer.Write((int)Type);
writer.Write((int)(object)Value);
}
}
}
}

View File

@ -28,7 +28,7 @@ namespace QSB
Application.runInBackground = true;
var instance = TextTranslation.Get().GetValue<TextTranslation.TranslationTable>("m_table");
instance.theUITable[(int)UITextType.PleaseUseController] =
instance.theUITable[(int)UITextType.PleaseUseController] =
"<color=orange>Quantum Space Buddies</color> is best experienced with fellow travellers...";
}

View File

@ -150,11 +150,11 @@
<Compile Include="DeathSync\Events\PlayerDeathEvent.cs" />
<Compile Include="EventsCore\IQSBEvent.cs" />
<Compile Include="Animation\Events\ChangeAnimTypeEvent.cs" />
<Compile Include="Animation\Events\ChangeAnimTypeMessage.cs" />
<Compile Include="Instruments\QSBCamera\CameraController.cs" />
<Compile Include="Instruments\QSBCamera\CameraManager.cs" />
<Compile Include="Instruments\QSBCamera\CameraMode.cs" />
<Compile Include="Instruments\InstrumentsManager.cs" />
<Compile Include="MessagesCore\EnumMessage.cs" />
<Compile Include="MessagesCore\FloatMessage.cs" />
<Compile Include="OrbSync\OrbManager.cs" />
<Compile Include="OrbSync\Events\OrbSlotEvent.cs" />
@ -182,7 +182,6 @@
<Compile Include="GeyserSync\Events\GeyserEvent.cs" />
<Compile Include="GeyserSync\GeyserManager.cs" />
<Compile Include="GeyserSync\QSBGeyser.cs" />
<Compile Include="DeathSync\Events\PlayerDeathMessage.cs" />
<Compile Include="Player\Events\PlayerLeaveMessage.cs" />
<Compile Include="Tools\Events\PlayerProbeLauncherEvent.cs" />
<Compile Include="Tools\Events\PlayerSignalscopeEvent.cs" />