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; }