ItemComponent GUIFrames, functional steering, radar, separate power and signals, improved d.gz, tweak swimming

This commit is contained in:
Regalis
2015-06-29 23:51:01 +03:00
parent 004608acd8
commit b493ed2b39
42 changed files with 473 additions and 182 deletions
@@ -53,7 +53,7 @@ namespace Subsurface.Items.Components
}
}
public override void ReceiveSignal(string signal, Connection connection, Item sender)
public override void ReceiveSignal(string signal, Connection connection, Item sender, float power=0.0f)
{
switch (connection.name)
{
@@ -135,7 +135,7 @@ namespace Subsurface.Items.Components
// return false;
//}
public void SendSignal(string signal, Item sender)
public void SendSignal(string signal, Item sender, float power)
{
for (int i = 0; i<MaxLinked; i++)
{
@@ -146,7 +146,7 @@ namespace Subsurface.Items.Components
foreach (ItemComponent ic in recipient.item.components)
{
ic.ReceiveSignal(signal, recipient, sender);
ic.ReceiveSignal(signal, recipient, sender, power);
}
}
}
@@ -38,7 +38,7 @@ namespace Subsurface.Items.Components
sprite.Draw(spriteBatch, new Vector2(item.Position.X, -item.Position.Y), 0.0f, 1.0f, Microsoft.Xna.Framework.Graphics.SpriteEffects.None);
}
public override void ReceiveSignal(string signal, Connection connection, Item sender)
public override void ReceiveSignal(string signal, Connection connection, Item sender, float power=0.0f)
{
switch (connection.name)
{
@@ -9,11 +9,11 @@ namespace Subsurface.Items.Components
{
}
public override void ReceiveSignal(string signal, Connection connection, Item sender)
public override void ReceiveSignal(string signal, Connection connection, Item sender, float power=0.0f)
{
if (connection.name != "signal_in") return;
item.SendSignal(signal=="0" ? "1" : "0", "signal_out", item);
item.SendSignal(signal=="0" ? "1" : "0", "signal_out");
}
}
}
@@ -28,7 +28,7 @@ namespace Subsurface.Items.Components
{
}
public override void ReceiveSignal(string signal, Connection connection, Item sender)
public override void ReceiveSignal(string signal, Connection connection, Item sender, float power=0.0f)
{
switch (connection.name)
{
@@ -44,11 +44,11 @@ namespace Subsurface.Items.Components
}
catch
{
item.SendSignal("ERROR", "signal_out", item);
item.SendSignal("ERROR", "signal_out");
return;
}
item.SendSignal(success ? output : "0", "signal_out", item);
item.SendSignal(success ? output : "0", "signal_out");
break;
case "set_output":