37 lines
947 B
C#
37 lines
947 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Xml.Linq;
|
|
|
|
namespace Barotrauma.Items.Components
|
|
{
|
|
class SonarTransducer : Powered
|
|
{
|
|
const float SendSignalInterval = 0.5f;
|
|
|
|
private float sendSignalTimer;
|
|
|
|
public SonarTransducer(Item item, XElement element) : base(item, element)
|
|
{
|
|
IsActive = true;
|
|
}
|
|
|
|
public override void Update(float deltaTime, Camera cam)
|
|
{
|
|
UpdateOnActiveEffects(deltaTime);
|
|
|
|
if (voltage >= minVoltage || PowerConsumption <= 0.0f)
|
|
{
|
|
sendSignalTimer += deltaTime;
|
|
if (sendSignalTimer > SendSignalInterval)
|
|
{
|
|
item.SendSignal(0, "0101101101101011010", "data_out", sender: null);
|
|
sendSignalTimer = SendSignalInterval;
|
|
}
|
|
}
|
|
|
|
voltage = 0.0f;
|
|
}
|
|
}
|
|
}
|