Files
jelito/Assets/jelycho/Code/Beacons/MotherActor.cs
2025-10-24 13:54:27 +02:00

59 lines
1.5 KiB
C#

using RebootKit.Engine.Network;
using RebootKit.Engine.Simulation;
using RebootReality.jelycho.Actors;
using RebootReality.jelycho.Enemies;
using UnityEngine;
namespace RebootReality.jelycho.Beacons {
public class MotherActorData : IActorData {
public ulong Health;
public float HungerLevel;
public int GetMaxBytes() {
return sizeof(ulong) +
sizeof(float);
}
public void Serialize(NetworkBufferWriter writer) {
writer.Write(Health);
writer.Write(HungerLevel);
}
public void Deserialize(NetworkBufferReader reader) {
reader.Read(out Health);
reader.Read(out HungerLevel);
}
}
public class MotherActor : Actor, IHasHealth {
MotherActorData m_ActorData = new MotherActorData();
[field: SerializeField] public Transform GutConnector { get; private set; }
//
// @MARK: Actor
//
protected override IActorData CreateActorData() {
return m_ActorData;
}
//
// @MARK: IHasHealth
//
public ulong Health {
get {
return m_ActorData.Health;
}
private set {
m_ActorData.Health = value;
}
}
[field: SerializeField] public ulong MaxHealth { get; private set; }
public bool IsAlive() {
return m_ActorData.Health > 0;
}
}
}