50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
using RebootKit.Engine.Network;
|
|
using RebootKit.Engine.Simulation;
|
|
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, IKillable {
|
|
MotherActorData m_ActorData = new MotherActorData();
|
|
|
|
[field: SerializeField] public Transform GutConnector { get; private set; }
|
|
|
|
//
|
|
// @MARK: Actor
|
|
//
|
|
protected override IActorData CreateActorData() {
|
|
return m_ActorData;
|
|
}
|
|
|
|
//
|
|
// @MARK: IKillable
|
|
//
|
|
public bool IsAlive() {
|
|
return m_ActorData.Health > 0;
|
|
}
|
|
|
|
public ulong OnHit(Actor attacker, ulong damage) {
|
|
return damage;
|
|
}
|
|
}
|
|
} |