Exemplo n.º 1
0
 override protected void OnReceive(object message)
 {
     if (message is IncrementMoviePlayCountMessage msg)
     {
         ProcessIncrementMoviePlayCountMessage(msg);
     }
     else
     {
         ColoredConsole.WriteReceivedMessage($"    [{this.ActorName}] OnReceive(): ERROR: Unknown '{message.GetType().ToString()}' type received!");
         Unhandled(message);
     }
 }
Exemplo n.º 2
0
        private void PlayingMovieBehavior(object message)
        {
            switch (message)
            {
            case PlayMovieMessage msg:
                ColoredConsole.WriteReceivedMessage($"    [{this.ActorName}] ERROR: Already playing movie! PlayMovieMessage message received --> {msg.ToString()}.");
                break;

            case StopMovieMessage msg:
                ColoredConsole.WriteReceivedMessage($"    [{this.ActorName}] StopMovieMessage message received --> {msg.ToString()}.");
                StopPlayingMovie(msg);
                break;
            }
        }
Exemplo n.º 3
0
        private void StoppedBehavior(object message)
        {
            switch (message)
            {
            case PlayMovieMessage msg:
                ColoredConsole.WriteReceivedMessage($"    [{this.ActorName}] PlayMovieMessage message received --> {message.ToString()}.");
                StartPlayingMovie(msg);
                break;

            case StopMovieMessage msg:
                ColoredConsole.WriteReceivedMessage($"    [{this.ActorName}] ERROR: Can't stop if nothing is playing! StopMovieMessage message received --> {msg.ToString()}.");
                break;
            }
        }
Exemplo n.º 4
0
        protected override void OnReceive(object message)
        {
            ColoredConsole.WriteReceivedMessage($"  [{this.ActorName}] OnReceive(): Received Message on '{this.ActorName}' Actor...");

            switch (message)
            {
            case PlayMovieMessage msg:
                Become(PlayingMovieBehavior);
                break;

            case StopMovieMessage msg:
                Become(StoppedBehavior);
                break;

            default:
                ColoredConsole.WriteReceivedMessage($"    [{this.ActorName}] OnReceive(): ERROR: Unknown '{message.GetType().ToString()}' type received!");
                Unhandled(message);
                break;
            }
        }
Exemplo n.º 5
0
        override protected void OnReceive(object message)
        {
            IActorRef actorRef;

            switch (message)
            {
            case PlayMovieMessage pmm:
                actorRef = CreateOrGetChildActor(pmm.UserId);
                ActorSystemHelper.SendAsynchronousMessage(actorRef, message);
                break;

            case StopMovieMessage smm:
                actorRef = CreateOrGetChildActor(smm.UserId);
                ActorSystemHelper.SendAsynchronousMessage(actorRef, message);
                break;

            default:
                ColoredConsole.WriteReceivedMessage($"    [{this.ActorName}] OnReceive(): ERROR: Unknown '{message.GetType().ToString()}' type received!");
                Unhandled(message);
                break;
            }
        }