Esempio n. 1
0
 public static function updateCoin(GameUsers $user, GameUsers $opponent, $roomGroupId, $action, $gameId = null, $double = 0, $normal = true, $type = null, $time = null)
 {
     //Add Log
     $result = new FunctionResult();
     $result->success = false;
     if (!empty($user) && !empty($action)) {
         $roomGroup = GameRoomGroups::getRoomGroupByGroupId($roomGroupId);
         if (!empty($roomGroup)) {
             $coin = $user->getCoins();
             $maxCoin = $roomGroup->getMatchCoin() * 128;
             $matchCoins = $roomGroup->getMatchCoin();
             if (!$normal) {
                 $matchCoins = $matchCoins * 2;
             }
             if ($double > 1) {
                 $matchCoins = $matchCoins * pow(2, $double);
             }
             $calCcoin = $matchCoins;
             $error = false;
             if ($action == GameUtils::$GAME_RESULT_ACTION_WIN) {
                 if ($matchCoins > $maxCoin) {
                     $matchCoins = $maxCoin;
                 }
             } else {
                 if ($action == GameUtils::$GAME_RESULT_ACTION_LOST) {
                     $matchCoins = -1 * $matchCoins;
                     if ($coin + $matchCoins < 0) {
                         $matchCoins = -1 * $coin;
                     }
                 } else {
                     $error = true;
                 }
             }
             if (!$error) {
                 $gameResult = $action . "_" . $normal . "_" . $double . "_" . $type;
                 $oppId = null;
                 if (!empty($opponent)) {
                     $oppId = $opponent->getUserId();
                 }
                 if (empty($time)) {
                     $time = time();
                 }
                 $add = 1;
                 if ($action == GameUtils::$GAME_RESULT_ACTION_LOST) {
                     $add = 0;
                 }
                 Queue::addUserCoinLog($user->userId, $calCcoin, $matchCoins, $time, GameUserXpLog::$CONSTANT_LOG_TYPE_GAME, $add, $gameId, $gameResult, $oppId);
                 Queue::addUserLeaderBoard($user->userId, $matchCoins, $time);
                 $user->setCoins($coin + $matchCoins);
                 $result->success = true;
             } else {
                 $result->success = false;
                 $result->result = "Action unknown";
             }
         } else {
             $result->success = false;
             $result->result = "Room Group is unknown";
         }
     }
     return $result;
 }
 public static function createFromSQL($db_field)
 {
     if (!empty($db_field)) {
         $user = new GameUsers();
         if (isset($db_field["userId"])) {
             $user->setUserId($db_field["userId"]);
         }
         if (isset($db_field["userName"])) {
             $user->setUserName($db_field["userName"]);
         }
         if (isset($db_field["userMail"])) {
             $user->setUserMail($db_field["userMail"]);
         }
         if (isset($db_field["userFirstname"])) {
             $user->setUserFirstname($db_field["userFirstname"]);
         }
         if (isset($db_field["userLastname"])) {
             $user->setUserLastname($db_field["userLastname"]);
         }
         if (isset($db_field["registerDate"])) {
             $user->setRegisterDate($db_field["registerDate"]);
         }
         if (isset($db_field["lastLoginDate"])) {
             $user->setLastLoginDate($db_field["lastLoginDate"]);
         }
         if (isset($db_field["loginCount"])) {
             $user->setLoginCount($db_field["loginCount"]);
         }
         if (isset($db_field["birtday"])) {
             $user->setBirtday($db_field["birtday"]);
         }
         if (isset($db_field["birthday_date"])) {
             $user->setBirthdayDate($db_field["birthday_date"]);
         }
         if (isset($db_field["facebookId"])) {
             $user->setFacebookId($db_field["facebookId"]);
         }
         if (isset($db_field["oauthToken"])) {
             $user->setOauthToken($db_field["oauthToken"]);
         }
         if (isset($db_field["gender"])) {
             $user->setGender($db_field["gender"]);
         }
         if (isset($db_field["password"])) {
             $user->setPassword($db_field["password"]);
         }
         if (isset($db_field["userXP"])) {
             $user->setUserXP($db_field["userXP"]);
         }
         if (isset($db_field["winGameCount"])) {
             $user->setWinGameCount($db_field["winGameCount"]);
         }
         if (isset($db_field["lostGameCount"])) {
             $user->setLostGameCount($db_field["lostGameCount"]);
         }
         if (isset($db_field["coins"])) {
             $user->setCoins($db_field["coins"]);
         }
         if (isset($db_field["winCountQuitGame"])) {
             $user->setWinCountQuitGame($db_field["winCountQuitGame"]);
         }
         if (isset($db_field["winCountConnectionLostGame"])) {
             $user->setWinCountConnectionLostGame($db_field["winCountConnectionLostGame"]);
         }
         if (isset($db_field["winCountDoubleGame"])) {
             $user->setWinCountDoubleGame($db_field["winCountDoubleGame"]);
         }
         if (isset($db_field["lostCountQuitGame"])) {
             $user->setLostCountQuitGame($db_field["lostCountQuitGame"]);
         }
         if (isset($db_field["lostCountConnectionLostGame"])) {
             $user->setLostCountConnectionLostGame($db_field["lostCountConnectionLostGame"]);
         }
         if (isset($db_field["lostCountDoubleGame"])) {
             $user->setLostCountDoubleGame($db_field["lostCountDoubleGame"]);
         }
         if (isset($db_field["language"])) {
             $user->setLanguage($db_field["language"]);
         }
         if (isset($db_field["socialBonusLike"])) {
             $user->setSocialBonusLike($db_field["socialBonusLike"]);
         }
         if (isset($db_field["userLevelNumber"])) {
             $user->setUserLevelNumber($db_field["userLevelNumber"]);
         }
         if (isset($db_field["active"])) {
             $user->setActive($db_field["active"]);
         }
         if (isset($db_field["profilePicture"])) {
             $user->setProfilePicture($db_field["profilePicture"]);
         }
         return $user;
     }
     return null;
 }