using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Content.Server.Mobs; using SS14.Server.GameObjects; using SS14.Shared.GameObjects; using SS14.Shared.Interfaces.GameObjects; using SS14.Shared.Interfaces.Network; using SS14.Shared.Log; namespace Content.Server.GameObjects.Components.Mobs { /// /// Stores a on a mob. /// public class MindComponent : Component { /// public override string Name => "Mind"; /// /// The mind controlling this mob. Can be null. /// public Mind Mind { get; private set; } /// /// True if we have a mind, false otherwise. /// public bool HasMind => Mind != null; /// /// Don't call this unless you know what the hell you're doing. /// Use instead. /// If that doesn't cover it, make something to cover it. /// public void InternalEjectMind() { Mind = null; } /// /// Don't call this unless you know what the hell you're doing. /// Use instead. /// If that doesn't cover it, make something to cover it. /// public void InternalAssignMind(Mind value) { Mind = value; } public override void OnRemove() { base.OnRemove(); if (HasMind) { Mind.TransferTo(null); } } } }