Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using ProtoBuf;
- using System;
- public class DecayEntity : BaseCombatEntity
- {
- [NonSerialized]
- public uint buildingID;
- private float decayTimer;
- public DecayEntity()
- {
- }
- public void AttachToBuilding(uint id)
- {
- if (base.isClient)
- {
- BuildingManager.client.Remove(this);
- this.buildingID = id;
- BuildingManager.client.Add(this);
- }
- }
- protected override void ClientInit(Entity info)
- {
- base.ClientInit(info);
- BuildingManager.client.Add(this);
- }
- public override bool DisplayHealthInfo(BasePlayer player)
- {
- bool flag;
- if (!this.ShowHealthInfo)
- {
- flag = false;
- }
- else
- {
- flag = (base.healthFraction < 0.95f ? true : player.IsHoldingEntity<Hammer>());
- }
- return flag;
- }
- protected override void DoClientDestroy()
- {
- base.DoClientDestroy();
- BuildingManager.client.Remove(this);
- }
- public BuildingManager.Building GetBuilding()
- {
- if (!base.isClient)
- {
- return null;
- }
- return BuildingManager.client.GetBuilding(this.buildingID);
- }
- public override void Load(BaseNetworkable.LoadInfo info)
- {
- base.Load(info);
- if (info.msg.decayEntity != null)
- {
- this.decayTimer = info.msg.decayEntity.decayTimer;
- if (this.buildingID != info.msg.decayEntity.buildingID)
- {
- this.AttachToBuilding(info.msg.decayEntity.buildingID);
- }
- }
- }
- public override void ResetState()
- {
- base.ResetState();
- this.buildingID = 0;
- this.decayTimer = 0f;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement