diff --git a/hwe/sammo/API/NationCommand/ReserveBulkCommand.php b/hwe/sammo/API/NationCommand/ReserveBulkCommand.php new file mode 100644 index 00000000..b8da199d --- /dev/null +++ b/hwe/sammo/API/NationCommand/ReserveBulkCommand.php @@ -0,0 +1,76 @@ +args as $idx => $turn) { + $v = new Validator($turn); + $v->rule('required', [ + 'action', + 'turnList' + ]) + ->rule('lengthMin', 'action', 1) + ->rule('integerArray', 'turnList'); + + if (!$v->validate()) { + return "{$idx}:{$v->errorStr()}"; + } + } + + return null; + } + + public function getRequiredSessionMode(): int + { + return static::REQ_GAME_LOGIN | static::REQ_READ_ONLY; + } + + public function launch(Session $session, ?DateTimeInterface $modifiedSince, ?string $reqEtag) + { + $briefList = []; + foreach ($this->args as $idx => $turn) { + $action = $turn['action']; + $turnList = $turn['turnList']; + $arg = $turn['arg'] ?? []; + + if (!$turnList) { + return "{$idx}: 턴이 입력되지 않았습니다"; + } + + if (!in_array($action, Util::array_flatten(GameConst::$availableChiefCommand))) { + return "{$idx}: 사용할 수 없는 커맨드입니다."; + } + + if (!is_array($arg)) { + return "{$idx}: 올바른 arg 형태가 아닙니다."; + } + $partialResult = setNationCommand($session->generalID, $turnList, $action, $arg); + if(!$partialResult['result']){ + return [ + 'result' => false, + 'briefList' => $briefList, + 'errorIdx' => $idx, + 'reason' => $partialResult['reason'] + ]; + } + $briefList[$idx] = $partialResult['brief']; + } + + return [ + 'result' => true, + 'briefList' => $briefList, + 'reason' => 'success' + ]; + } +} diff --git a/hwe/scss/chiefCenter.scss b/hwe/scss/chiefCenter.scss index f340adaa..5f3cfde8 100644 --- a/hwe/scss/chiefCenter.scss +++ b/hwe/scss/chiefCenter.scss @@ -109,7 +109,6 @@ $modcolor2: color.adjust($nbase2color, $lightness: -5%); width: 500px; height: 460px; margin: auto; - overflow: hidden; } #mainTable { diff --git a/hwe/ts/ChiefCenter/TopItem.vue b/hwe/ts/ChiefCenter/TopItem.vue index e1c9af4c..b6bf764e 100644 --- a/hwe/ts/ChiefCenter/TopItem.vue +++ b/hwe/ts/ChiefCenter/TopItem.vue @@ -38,13 +38,13 @@