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; } } }