示例#1
0
 public function handleMessage($message)
 {
     if (!self::QUIET) {
         echo "(" . $this->_client->resourceId . ") Message Received: \n\t{$message} \n";
     }
     $message = json_decode($message);
     switch ($message->event) {
         case 'user':
             $this->userMessage($message);
             break;
         case 'authentication':
             $this->authenticationMessage($message);
             break;
         case 'ping':
             if ($this->checkValidToken()) {
                 $this->sendMessage(Messaging::pong());
             }
             break;
         case 'stage':
             if ($this->checkValidToken()) {
                 $monsterFrame = $this->_monster->getNextState();
                 $Helper = Helper::getInstance();
                 $stage = $Helper::createEmptyArray();
                 $_monFrame = $monsterFrame['monster']['sprite'];
                 //print_r($_monFrame);
                 for ($i = 0; $i < count($_monFrame); $i++) {
                     for ($j = 0; $j < count($_monFrame[$i]); $j++) {
                         if (0 != $_monFrame[$i][$j]) {
                             $stage[$i + $monsterFrame['yoffset']][$j + $monsterFrame['xoffset']] = $_monFrame[$i][$j];
                         }
                     }
                 }
                 $this->sendMessage(Messaging::response('stage', 'frame', array('frame' => $stage)));
             }
             break;
         default:
             $this->sendError("Unknown Message: " . json_encode($message));
             break;
     }
 }