public void Clean() { PreviousBodyPart = RelatedBodyPart; RelatedBodyPart = null; CurrentStep = 0; SurgeryProcedureBase = null; }
public void CancelSurgery() { RelatedBodyPart = PreviousBodyPart; ISon.currentlyOn = RelatedBodyPart?.gameObject; CurrentStep = 0; SurgeryProcedureBase = null; ISon.ProcedureInProgress = false; }
public void SetupProcedure(Dissectible Dissectible, BodyPart bodyPart, SurgeryProcedureBase inSurgeryProcedureBase) { Clean(); if (ISon != Dissectible) { PreviousBodyPart = null; } ISon = Dissectible; ISon.ProcedureInProgress = true; RelatedBodyPart = bodyPart; SurgeryProcedureBase = inSurgeryProcedureBase; }
public void ServerCheck(SurgeryProcedureBase SurgeryProcedureBase, BodyPart ONBodyPart) { if (ProcedureInProgress) { return; //Defer to server } if (BodyPartIsOn != null) { if (BodyPartIsopen) { foreach (var organBodyPart in BodyPartIsOn.ContainBodyParts) { if (organBodyPart == ONBodyPart) { foreach (var Procedure in organBodyPart.SurgeryProcedureBase) { if (Procedure is CloseProcedure || Procedure is ImplantProcedure) { continue; } if (SurgeryProcedureBase == Procedure) { this.currentlyOn = organBodyPart.gameObject; this.ThisPresentProcedure.SetupProcedure(this, organBodyPart, Procedure); return; } } return; } } if (currentlyOn == ONBodyPart.gameObject) { foreach (var Procedure in BodyPartIsOn.SurgeryProcedureBase) { if (Procedure is CloseProcedure || Procedure is ImplantProcedure) { if (SurgeryProcedureBase == Procedure) { this.currentlyOn = currentlyOn; this.ThisPresentProcedure.SetupProcedure(this, BodyPartIsOn, Procedure); return; } } } return; } } else { if (ONBodyPart.gameObject == currentlyOn) { foreach (var Procedure in BodyPartIsOn.SurgeryProcedureBase) { if (Procedure is CloseProcedure || Procedure is ImplantProcedure) { continue; } if (SurgeryProcedureBase == Procedure) { this.currentlyOn = currentlyOn; this.ThisPresentProcedure.SetupProcedure(this, BodyPartIsOn, Procedure); return; } } return; } } } else { foreach (var bodyPart in LivingHealthMasterBase.BodyPartList) { if (bodyPart == ONBodyPart) { foreach (var Procedure in bodyPart.SurgeryProcedureBase) { if (Procedure is CloseProcedure || Procedure is ImplantProcedure) { continue; } if (SurgeryProcedureBase == Procedure) { this.currentlyOn = bodyPart.gameObject; this.ThisPresentProcedure.SetupProcedure(this, bodyPart, Procedure); return; } } } } if (LivingHealthMasterBase.GetComponent <PlayerSprites>().RaceBodyparts.Base.RootImplantProcedure == SurgeryProcedureBase) { this.currentlyOn = LivingHealthMasterBase.gameObject; this.ThisPresentProcedure.SetupProcedure(this, null, SurgeryProcedureBase); } } }
public void ServerCheck(SurgeryProcedureBase SurgeryProcedureBase, BodyPart ONBodyPart) { if (ProcedureInProgress == false) //Defer to server { if (BodyPartIsOn != null) { if (BodyPartIsopen) { foreach (var inBodyPart in BodyPartIsOn.ContainBodyParts) { if (inBodyPart == ONBodyPart) { foreach (var Procedure in inBodyPart.SurgeryProcedureBase) { if (Procedure is CloseProcedure || Procedure is ImplantProcedure) { continue; } if (SurgeryProcedureBase == Procedure) { this.currentlyOn = inBodyPart.gameObject; this.ThisPresentProcedure.SetupProcedure(this, inBodyPart, Procedure); return; } } return; } } if (currentlyOn == ONBodyPart.gameObject) { foreach (var Procedure in BodyPartIsOn.SurgeryProcedureBase) { if (Procedure is CloseProcedure || Procedure is ImplantProcedure) { if (SurgeryProcedureBase == Procedure) { this.currentlyOn = currentlyOn; this.ThisPresentProcedure.SetupProcedure(this, BodyPartIsOn, Procedure); return; } } } return; } } else { if (ONBodyPart.gameObject == currentlyOn) { foreach (var Procedure in BodyPartIsOn.SurgeryProcedureBase) { if (Procedure is CloseProcedure || Procedure is ImplantProcedure) { continue; } if (SurgeryProcedureBase == Procedure) { this.currentlyOn = currentlyOn; this.ThisPresentProcedure.SetupProcedure(this, BodyPartIsOn, Procedure); return; } } return; } } } else { foreach (var RouteBody in LivingHealthMasterBase.RootBodyPartContainers) { foreach (var Limb in RouteBody.ContainsLimbs) { if (Limb == ONBodyPart) { foreach (var Procedure in Limb.SurgeryProcedureBase) { if (Procedure is CloseProcedure || Procedure is ImplantProcedure) { continue; } if (SurgeryProcedureBase == Procedure) { this.currentlyOn = Limb.gameObject; this.ThisPresentProcedure.SetupProcedure(this, Limb, Procedure); return; } } } } } if (LivingHealthMasterBase.GetComponent <PlayerSprites>().RaceBodyparts.Base.RootImplantProcedure == SurgeryProcedureBase) { this.currentlyOn = LivingHealthMasterBase.gameObject; this.ThisPresentProcedure.SetupProcedure(this, null, SurgeryProcedureBase); } } } }