Exemple #1
0
 private void OnObjectiveChanged(IMoveDriver driver, IObjective previous, IObjective current)
 {
     if (current == null)
     {
         this.AddNextStrongest();
     }
 }
Exemple #2
0
        private void OnMoverStateChanged(IMoveDriver driver, MoverStateKind previousState, MoverStateKind currentState)
        {
            Assert.AreEqual(this.Driver, driver);

            if (this.dispatchDiagnosticIndicatorSignals)
            {
                this.diagnosticSignal.DispatchSet(
                    this.gameObject,
                    StateDiagnosticsKey,
                    currentState.ToString());
            }

            switch (currentState)
            {
            case MoverStateKind.Arrived:
                this.log.Trace("Arrived").Write();

                if (this.Arrived != null)
                {
                    this.Arrived(driver);
                }

                if (this.raiseFlagOnArrival)
                {
                    this.log.Trace("Raising arrival flag").Field("flag", this.arrivedFlag).Write();
                    this.flagSignal.DispatchFlag(this.gameObject, this.arrivedFlag);
                }

                break;

            case MoverStateKind.Cancelled:
                this.log.Trace("Cancelled").Write();

                if (this.Cancelled != null)
                {
                    this.Cancelled(driver);
                }
                break;
            }
        }
Exemple #3
0
 public static void MoveTo(this IMoveDriver moveDriver, Vector3 destination)
 {
     moveDriver.MoveTo(new Objective(destination));
 }
Exemple #4
0
 public void StartModifying(IMoveDriver moveDriver)
 {
     moveDriver.ObjectiveChanged += this.OnObjectiveChanged;
 }
Exemple #5
0
 private void OnObjectiveChanged(IMoveDriver driver, IObjective previousObjective, IObjective currentObjective)
 {
     Debug.LogFormat("Previous objective: {0}, current objective {1}", previousObjective, currentObjective);
 }