void Awake() { //Get Mode tracking object and register to update. var modeTrackingUpdate = GameObject .FindObjectOfType<ModeController>() .GetComponent<ModeTrackingController>(); this.modeTrackingUpdate = modeTrackingUpdate as IModeTrackingUpdateMode; this.modeTrackingUpdateRegister = modeTrackingUpdate as IModeTrackingUpdateModeRegister; //Get ModeViewController and register this.modeViewController = GameObject .FindObjectOfType<ModeViewCtrl>() .GetComponent<ModeViewCtrl>() as IModeViewController; //Build the mode mappings this.NextMode = new Dictionary<Modes, ModeMapping> { {Modes.Initialise, new ModeMapping(Modes.Initialise, Modes.SelectQuad) }, {Modes.SelectQuad, new ModeMapping(Modes.Initialise,Modes.ConfigureQuad) }, {Modes.ConfigureQuad, new ModeMapping(Modes.SelectQuad, Modes.CalibrateTestQuad) }, {Modes.MissionPlan, new ModeMapping(Modes.ConfigureQuad, Modes.Execute) }, {Modes.Execute, new ModeMapping(Modes.MissionPlan, Modes.MissionPlan) } }; //Register this.modeViewController.RegisterToControlDynamicViews(this); this.modeViewController.RegisterToControlFixedViews(this); this.modeTrackingUpdateRegister.RegisterToUpdate(this); }
public void UpdateDisplayViewForMode(IModeTrackingUpdateMode modeTracker, IModeViewController modeViewController) { if (this.modeChangeRequest) { modeTracker.ChangeActiveMode(this.modeRequested, this); this.modeChangeRequest = false; } else { switch (modeTracker.Status) { case ExecutionStatus.Canceled: { modeViewController.DisactiveDynamicView(modeTracker, this); modeTracker.ChangeActiveMode(NextMode[modeTracker.ActiveMode].Canceled, this); break; } case ExecutionStatus.Complete: { modeViewController.DisactiveDynamicView(modeTracker, this); modeTracker.ChangeActiveMode(NextMode[modeTracker.ActiveMode].Completed, this); break; } case ExecutionStatus.Requested: { modeViewController.ActivateDynamicView(modeTracker, this); break; } } } }
void Awake() { //Get Mode tracking object and register to update. var modeTrackingUpdate = GameObject .FindObjectOfType <ModeController>() .GetComponent <ModeTrackingController>(); this.modeTrackingUpdate = modeTrackingUpdate as IModeTrackingUpdateMode; this.modeTrackingUpdateRegister = modeTrackingUpdate as IModeTrackingUpdateModeRegister; //Get ModeViewController and register this.modeViewController = GameObject .FindObjectOfType <ModeViewCtrl>() .GetComponent <ModeViewCtrl>() as IModeViewController; //Build the mode mappings this.NextMode = new Dictionary <Modes, ModeMapping> { { Modes.Initialise, new ModeMapping(Modes.Initialise, Modes.SelectQuad) }, { Modes.SelectQuad, new ModeMapping(Modes.Initialise, Modes.ConfigureQuad) }, { Modes.ConfigureQuad, new ModeMapping(Modes.SelectQuad, Modes.CalibrateTestQuad) }, { Modes.MissionPlan, new ModeMapping(Modes.ConfigureQuad, Modes.Execute) }, { Modes.Execute, new ModeMapping(Modes.MissionPlan, Modes.MissionPlan) } }; //Register this.modeViewController.RegisterToControlDynamicViews(this); this.modeViewController.RegisterToControlFixedViews(this); this.modeTrackingUpdateRegister.RegisterToUpdate(this); }