Component Messaging Rework (#36)

* Remove DiscoBall.

* Changes `IEntity.AddComponent(IComponent)` to `IEntity.AddComponent<T>`.

* Pulled ComponentManager registration out of Component into Entity.

* Killed component message params.

* Updated engine submodule.
This commit is contained in:
Acruid
2018-02-24 11:48:23 -08:00
committed by GitHub
parent 05d4b2793b
commit b005d661f8
11 changed files with 24 additions and 95 deletions

View File

@@ -256,18 +256,17 @@ namespace Content.Server.GameObjects
ActiveIndex = orderedHands[index];
}
public override void HandleNetworkMessage(IncomingEntityComponentMessage message)
public override void HandleMessage(object owner, ComponentMessage message)
{
if (message.MessageParameters.Count != 1)
base.HandleMessage(owner, message);
switch (message)
{
return;
case ClientChangedHandMsg msg:
if (HasHand(msg.Index))
ActiveIndex = msg.Index;
break;
}
var index = message.MessageParameters[0];
if (index is string newIndex && HasHand(newIndex))
{
ActiveIndex = newIndex;
}
base.HandleNetworkMessage(message);
}
}
}

View File

@@ -84,17 +84,15 @@ namespace Content.Server.GameObjects.Components.Power
}
}
public override void OnAdd(IEntity owner)
public override void OnAdd()
{
base.OnAdd(owner);
base.OnAdd();
if (Drawtype == DrawTypes.Both || Drawtype == DrawTypes.Node)
{
if (!owner.TryGetComponent(out PowerNodeComponent node))
if (!Owner.TryGetComponent(out PowerNodeComponent node))
{
var factory = IoCManager.Resolve<IComponentFactory>();
node = factory.GetComponent<PowerNodeComponent>();
owner.AddComponent(node);
Owner.AddComponent<PowerNodeComponent>();
}
node.OnPowernetConnect += PowernetConnect;
node.OnPowernetDisconnect += PowernetDisconnect;

View File

@@ -33,15 +33,13 @@ namespace Content.Server.GameObjects.Components.Power
}
}
public override void OnAdd(IEntity owner)
public override void OnAdd()
{
base.OnAdd(owner);
base.OnAdd();
if (!owner.TryGetComponent(out PowerNodeComponent node))
if (!Owner.TryGetComponent(out PowerNodeComponent node))
{
var factory = IoCManager.Resolve<IComponentFactory>();
node = factory.GetComponent<PowerNodeComponent>();
owner.AddComponent(node);
Owner.AddComponent<PowerNodeComponent>();
}
node.OnPowernetConnect += PowernetConnect;
node.OnPowernetDisconnect += PowernetDisconnect;

View File

@@ -78,15 +78,13 @@ namespace Content.Server.GameObjects.Components.Power
}
}
public override void OnAdd(IEntity owner)
public override void OnAdd()
{
base.OnAdd(owner);
base.OnAdd();
if (!owner.TryGetComponent(out PowerNodeComponent node))
if (!Owner.TryGetComponent(out PowerNodeComponent node))
{
var factory = IoCManager.Resolve<IComponentFactory>();
node = factory.GetComponent<PowerNodeComponent>();
owner.AddComponent(node);
Owner.AddComponent<PowerNodeComponent>();
}
node.OnPowernetConnect += PowernetConnect;
node.OnPowernetDisconnect += PowernetDisconnect;