private void OpenSkinSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { performer.PopupMessage(Loc.GetString("Cut open the skin...")); // TODO do_after: Delay _skinOpened = true; }
private void LoosenOrganSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (Parent == null) { return; } if (Parent.Mechanisms.Count <= 0) { return; } var toSend = new List <IMechanism>(); foreach (var mechanism in Parent.Mechanisms) { if (!_disconnectedOrgans.Contains(mechanism)) { toSend.Add(mechanism); } } if (toSend.Count > 0) { surgeon.RequestMechanism(toSend, LoosenOrganSurgeryCallback); } }
private void RetractSkinSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { performer.PopupMessage(performer, Loc.GetString("Retract the skin...")); // TODO do_after: Delay _skinRetracted = true; }
private void ClampVesselsSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { performer.PopupMessage(performer, Loc.GetString("Clamp the vessels...")); // TODO do_after: Delay _vesselsClamped = true; }
protected void CautizerizeIncisionSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { performer.PopupMessage(performer, Loc.GetString("Cauterize the incision...")); //Delay? _skinOpened = false; _vesselsClamped = false; _skinRetracted = false; }
private void CauterizeIncisionSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { performer.PopupMessage(Loc.GetString("Cauterize the incision...")); // TODO do_after: Delay _skinOpened = false; _vesselsClamped = false; _skinRetracted = false; }
protected void RemoveBodyPartSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (!(container is BodyManagerComponent)) //This surgery requires a DroppedBodyPartComponent. { return; } BodyManagerComponent bmTarget = (BodyManagerComponent)container; performer.PopupMessage(performer, Loc.GetString("Saw off the limb!")); //Delay? bmTarget.DisconnectBodyPart(_parent, true); }
private void ClampVesselsSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (Parent == null) { return; } performer.PopupMessage(Loc.GetString("Clamp the vessels...")); // TODO BODY do_after: Delay _vesselsClamped = true; }
private void RetractSkinSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (Parent == null) { return; } performer.PopupMessage(Loc.GetString("Retract the skin...")); // TODO BODY do_after: Delay _skinRetracted = true; }
private void RemoveOrganSurgeryCallback(Mechanism target, IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (target == null || !Parent.Mechanisms.Contains(target)) { return; } performer.PopupMessage(performer, Loc.GetString("Remove the organ...")); // TODO do_after: Delay Parent.TryDropMechanism(performer, target, out _); _disconnectedOrgans.Remove(target); }
private void RemoveBodyPartSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { // This surgery requires a DroppedBodyPartComponent. if (!(container is BodyManagerComponent)) { return; } var bmTarget = (BodyManagerComponent)container; performer.PopupMessage(performer, Loc.GetString("Saw off the limb!")); // TODO do_after: Delay bmTarget.DisconnectBodyPart(Parent, true); }
protected void RemoveOrganSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (_disconnectedOrgans.Count <= 0) { return; } if (_disconnectedOrgans.Count == 1) { RemoveOrganSurgeryCallback(_disconnectedOrgans[0], container, surgeon, performer); } else { surgeon.RequestMechanism(_disconnectedOrgans, RemoveOrganSurgeryCallback); } }
private void RemoveBodyPartSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (Parent == null) { return; } if (!(container is IBody body)) { return; } performer.PopupMessage(Loc.GetString("Saw off the limb!")); // TODO BODY do_after: Delay body.RemovePart(Parent, true); }
protected void LoosenOrganSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (_parent.Mechanisms.Count <= 0) { return; } List <Mechanism> toSend = new List <Mechanism>(); foreach (Mechanism mechanism in _parent.Mechanisms) { if (!_disconnectedOrgans.Contains(mechanism)) { toSend.Add(mechanism); } } if (toSend.Count > 0) { surgeon.RequestMechanism(toSend, LoosenOrganSurgeryCallback); } }
public int RegistSurgeon(string name, string surname, DateTime birth, string surgeryType) { ISurgeon surgeon = factory.CreateSurgeon(name, surname, birth, surgeryType); return(surgeonRepo.SaveSurgeon(surgeon)); }
private void RemoveOrganSurgeryCallback(IMechanism?target, IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (Parent == null || target == null || !Parent.Mechanisms.Contains(target)) { return; } performer.PopupMessage(Loc.GetString("Remove the organ...")); // TODO BODY do_after: Delay Parent.RemoveMechanism(target, performer.Transform.Coordinates); _disconnectedOrgans.Remove(target); }
private void LoosenOrganSurgeryCallback(IMechanism?target, IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (Parent == null || target == null || !Parent.Mechanisms.Contains(target)) { return; } performer.PopupMessage(Loc.GetString("Loosen the organ...")); // TODO BODY do_after: Delay _disconnectedOrgans.Add(target); }
protected void ClampVesselsSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { performer.PopupMessage(performer, Loc.GetString("Clamp the vessels...")); //Delay? _vesselsClamped = true; }
protected void RetractSkinSurgery(IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { performer.PopupMessage(performer, Loc.GetString("Retract the skin...")); //Delay? _skinRetracted = true; }
public void RemoveOrganSurgeryCallback(Mechanism target, IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { if (target != null && _parent.Mechanisms.Contains(target)) { performer.PopupMessage(performer, Loc.GetString("Remove the organ...")); //Delay? _parent.DropMechanism(performer, target); _disconnectedOrgans.Remove(target); } }
public int SaveSurgeon(ISurgeon surgeon) { this.surgeon.Add(++number, surgeon); return(number); }
public bool PerformSurgery(SurgeryType surgeryType, IBodyPartContainer container, ISurgeon surgeon, IEntity performer) { var step = GetSurgeryStep(surgeryType); if (step == null) { return(false); } step(container, surgeon, performer); return(true); }
/// <summary> /// Attempts to perform surgery on this BodyPart with the given tool. Returns false if there was an error, true if successful. /// </summary> public bool AttemptSurgery(SurgeryType toolType, IBodyPartContainer target, ISurgeon surgeon, IEntity performer) { return(_surgeryData.PerformSurgery(toolType, target, surgeon, performer)); }