public override void OnUpdate() { issue = Lib.Proto.GetString(protoModule, "issue"); status = Lib.Proto.GetEnum(protoModule, "status", Experiment.ExpStatus.Stopped); subject = ScienceDB.GetSubjectData(expInfo, Lib.Proto.GetInt(protoModule, "situationId")); scienceValue = Experiment.ScienceValue(subject); }
public void Notify(Vessel vessel, string experiment_id, Experiment.ExpStatus oldStatus, Experiment.ExpStatus newStatus) { bool wasRunning = oldStatus == Experiment.ExpStatus.Forced || oldStatus == Experiment.ExpStatus.Running; bool isRunning = newStatus == Experiment.ExpStatus.Forced || newStatus == Experiment.ExpStatus.Running; if (wasRunning == isRunning) { return; } foreach (Action <Vessel, string, bool> receiver in receivers) { try { receiver.Invoke(vessel, experiment_id, isRunning); } catch (Exception e) { Lib.Log("ExperimentStateChanged: Exception in event receiver " + e.Message + "\n" + e.ToString()); } } }