示例#1
0
 public void Notify(AObserverEvent observerEvent)
 {
     for (var i = 0; i < _observers.Count; ++i)
     {
         _observers[i].OnNotify(observerEvent);
     }
 }
    private bool InvokeFarmEvents(AObserverEvent observerEvent)
    {
        if (observerEvent is SwarmSpawnEvent)
        {
            Subscribe((observerEvent as SwarmSpawnEvent).swarm);
            _farmEvents.onSwarmSpawn.Invoke();
            return(true);
        }
        else if (observerEvent is ToolOnCooldownWarningEvent)
        {
            _farmEvents.onToolCooldownUse.Invoke();
            return(true);
        }
        else if (observerEvent is PlotOnCooldownWarningEvent)
        {
            _farmEvents.onPlotCooldownUse.Invoke();
            return(true);
        }
        else if (observerEvent is WrongToolOnPlotWarningEvent)
        {
            _farmEvents.onWrongToolOnPlot.Invoke();
            return(true);
        }
        else if (observerEvent is FarmPlotIsInactiveWarningEvent)
        {
            _farmEvents.onFarmPlotInactive.Invoke();
            return(true);
        }

        return(false);
    }
 public void OnNotify(AObserverEvent observerEvent)
 {
     if (observerEvent is SwarmSpawnEvent)
     {
         Subscribe((observerEvent as SwarmSpawnEvent).swarm);
     }
 }
示例#4
0
 public void OnNotify(AObserverEvent observerEvent)
 {
     if (observerEvent is CuttableCutEvent)
     {
         var oEvent = observerEvent as CuttableCutEvent;
         if (_rotations.Count >= oEvent.state)
         {
             _cuttable.gameObject.transform.DORotate(_rotations[oEvent.state - 1], 0.3f, RotateMode.LocalAxisAdd);
         }
     }
 }
示例#5
0
 private static void NotifyStaticObservers(AObserverEvent observerEvent)
 {
     if (_staticObservers == null)
     {
         return;
     }
     for (var i = 0; i < _staticObservers.Count; ++i)
     {
         _staticObservers[i].OnNotify(observerEvent);
     }
 }
 public void OnNotify(AObserverEvent observerEvent)
 {
     if (InvokeFarmEvents(observerEvent))
     {
         ;
     }
     else if (InvokeDishEvents(observerEvent))
     {
         ;
     }
 }
示例#7
0
 public void OnNotify(AObserverEvent observerEvent)
 {
     if (observerEvent is CuttableCutEvent)
     {
         var oEvent = observerEvent as CuttableCutEvent;
         if (_moves.Count >= oEvent.state)
         {
             _cuttable.gameObject.transform.DOMove(transform.position + _moves[oEvent.state - 1], 0.3f);
         }
     }
 }
示例#8
0
    public void OnNotify(AObserverEvent observerEvent)
    {
        if (observerEvent is SwarmSpawnEvent)
        {
            Subscribe((observerEvent as SwarmSpawnEvent).swarm);
        }

        if (observerEvent is SwarmBugSpawnEvent)
        {
            if (_firstBug)
            {
                _firstBug = false;
                _firstBugSpawnEvent.Invoke();
                if (_bugSwipeAnimation != null)
                {
                    _bugSwipeAnimation.SetActive(true);
                }
                var bugPoint =
                    Camera.main.WorldToScreenPoint((observerEvent as SwarmBugSpawnEvent).bug.transform.position);
                if (_bugSwipeAnimation != null)
                {
                    _bugSwipeAnimation.transform.position = new Vector3(bugPoint.x, bugPoint.y, 0);
                }
            }
        }

        if (observerEvent is SwarmBugKillEvent)
        {
            _killBugsCompelte = true;
            _completeBugKillEvent.Invoke();
            CheckCompletion();
            if (_bugSwipeAnimation != null)
            {
                _bugSwipeAnimation.SetActive(false);
            }
        }
    }
示例#9
0
 public void OnNotify(AObserverEvent observerEvent)
 {
 }
示例#10
0
 public void Notify(AObserverEvent observerEvent)
 {
     throw new System.NotImplementedException("Notify on PlaneIngredient is not implemented");
 }
示例#11
0
    private bool InvokeDishEvents(AObserverEvent observerEvent)
    {
        if (observerEvent is BakingStartEvent)
        {
            _dishEvents.onBakingStart.Invoke();
            return(true);
        }
        else if (observerEvent is BakingDoneEvent)
        {
            _dishEvents.onBakingDone.Invoke();
            return(true);
        }
        else if (observerEvent is BakingStartBurnEvent)
        {
            _dishEvents.onBakingBurnt.Invoke();
            return(true);
        }
        else if (observerEvent is BakingStopEvent)
        {
            _dishEvents.onBakingStop.Invoke();
            return(true);
        }
        else if (observerEvent is CookingStartEvent)
        {
            _dishEvents.onCookingStart.Invoke();
            return(true);
        }
        else if (observerEvent is CookingDoneEvent)
        {
            _dishEvents.onCookingDone.Invoke();
            return(true);
        }
        else if (observerEvent is CookingStopEvent)
        {
            _dishEvents.onCookingStop.Invoke();
            return(true);
        }
        else if (observerEvent is CookingStirEvent)
        {
            _dishEvents.onCookingStir.Invoke();
            return(true);
        }
        else if (observerEvent is CuttableCutEvent)
        {
            var cuttableCut = observerEvent as CuttableCutEvent;
            if (cuttableCut.isHard)
            {
                _dishEvents.onCutCuttableHard.Invoke();
                return(true);
            }
            else
            {
                _dishEvents.onCutCuttableSoft.Invoke();
                return(true);
            }
        }
        else if (observerEvent is FryerStartEvent)
        {
            _dishEvents.onFryerStart.Invoke();
            return(true);
        }
        else if (observerEvent is FryerStopEvent)
        {
            _dishEvents.onFryerStop.Invoke();
            return(true);
        }
        else if (observerEvent is DishStirEvent)
        {
            _dishEvents.onDishStir.Invoke();
            return(true);
        }

        return(false);
    }
 public void OnNotify(AObserverEvent observerEvent)
 {
     if (observerEvent is BakingStartEvent)
     {
         _activeTutorial?.BakingStart();
     }
     else if (observerEvent is SideBakedEvent)
     {
         _activeTutorial?.SideBakedDone();
     }
     else if (observerEvent is BakingDoneEvent)
     {
         _activeTutorial?.BakingDone();
     }
     else if (observerEvent is BakingFlipEvent)
     {
         _activeTutorial?.BakingFlip();
     }
     else if (observerEvent is CookingStartEvent)
     {
         _activeTutorial?.CookingStart();
     }
     else if (observerEvent is CookingDoneEvent)
     {
         _activeTutorial?.CookingDone();
     }
     else if (observerEvent is FryerStartEvent)
     {
         _activeTutorial?.FryingStart();
     }
     else if (observerEvent is FryerStopEvent)
     {
         _activeTutorial?.FryingDone();
     }
     else if (observerEvent is CuttableCutEvent)
     {
         _activeTutorial?.IngredientCut();
     }
     else if (observerEvent is CuttableCutUpEvent)
     {
         _activeTutorial?.IngredientCutUp();
     }
     else if (observerEvent is CuttableOnCuttingBoardEvent)
     {
         _activeTutorial?.IngredientToCuttingBoard();
     }
     else if (observerEvent is PullablePulledEvent)
     {
         _activeTutorial?.IngredientPulled();
     }
     else if (observerEvent is IngredientDoneEvent)
     {
         _activeTutorial?.IngredientDone((observerEvent as IngredientDoneEvent).ingredient);
     }
     else if (observerEvent is CookingStirEvent)
     {
         _activeTutorial?.CookingStir();
     }
     else if (observerEvent is DishStirEvent)
     {
         _activeTutorial?.DishStir();
     }
     else if (observerEvent is CookingAllIngredientsDoneEvent)
     {
         _activeTutorial?.CookingAllIngredientsDone();
     }
     else if (observerEvent is SideDishDraggedToMain)
     {
         _activeTutorial?.SideDishToMain();
     }
 }