fix: 턴 시간 변경 코드
This commit is contained in:
@@ -277,10 +277,11 @@ class Join extends \sammo\BaseAPI
|
||||
|
||||
if ($inheritTurntime !== null) {
|
||||
//FIXME: 오동작함
|
||||
$inheritTurntime = $inheritTurntime % ($gameStor->turnterm * 60);
|
||||
$inheritTurntime = $inheritTurntime % ($admin['turnterm'] * 60);
|
||||
$inheritTurntime += Util::randRangeInt(0, 999999) / 1000000;
|
||||
$turntime = new \DateTimeImmutable(cutTurn($admin['turntime'], $admin['turnterm']));
|
||||
$turntime = TimeUtil::format($turntime->add(TimeUtil::secondsToDateInterval($inheritTurntime)), true);
|
||||
$turntime = $turntime->add(TimeUtil::secondsToDateInterval($inheritTurntime));
|
||||
$turntime = TimeUtil::format($turntime, true);
|
||||
} else {
|
||||
$turntime = getRandTurn($admin['turnterm'], new \DateTimeImmutable($admin['turntime']));
|
||||
}
|
||||
|
||||
@@ -54,13 +54,13 @@ class ResetTurnTime extends \sammo\BaseAPI
|
||||
$gameStor = new KVStorage($db, 'game_env');
|
||||
[$turnTerm, $serverTurnTime] = $gameStor->getValuesAsArray(['turnterm', 'turntime']);
|
||||
|
||||
$currTurnTime = new DateTimeImmutable($general->getTurnTime());
|
||||
$serverTurnTimeObj = new DateTimeImmutable($serverTurnTime);
|
||||
$turnTime = new DateTimeImmutable($general->getTurnTime());
|
||||
|
||||
$afterTurn = Util::randRange($turnTerm * -60 / 2, $turnTerm * 60 / 2);
|
||||
|
||||
$turnTime = $turnTime->add(TimeUtil::secondsToDateInterval($afterTurn));
|
||||
if ($turnTime <= $serverTurnTimeObj) {
|
||||
$turnTime = $currTurnTime->add(TimeUtil::secondsToDateInterval($afterTurn));
|
||||
if ($turnTime <= $serverTurnTimeObj && $serverTurnTimeObj <= $currTurnTime) {
|
||||
$turnTime = $turnTime->add(TimeUtil::secondsToDateInterval($turnTerm * 60));
|
||||
}
|
||||
|
||||
|
||||
@@ -244,6 +244,7 @@
|
||||
:readonly="!inheritTurnTimeSet"
|
||||
:min="0"
|
||||
:max="1 - turnterm"
|
||||
v-model="inheritTurnTimeMinute"
|
||||
title="분"
|
||||
/>
|
||||
</div>
|
||||
@@ -252,6 +253,7 @@
|
||||
:readonly="!inheritTurnTimeSet"
|
||||
:min="0"
|
||||
:max="60"
|
||||
v-model="inheritTurnTimeSecond"
|
||||
title="초"
|
||||
/>
|
||||
</div>
|
||||
@@ -432,18 +434,21 @@ export default defineComponent({
|
||||
inheritTurnTimeMinute(newValue: number) {
|
||||
if (!this.inheritTurnTimeSet) {
|
||||
this.args.inheritTurntime = 0;
|
||||
return;
|
||||
}
|
||||
this.args.inheritTurntime = newValue * 60 + this.inheritTurnTimeSecond;
|
||||
},
|
||||
inheritTurnTimeSecond(newValue: number) {
|
||||
if (!this.inheritTurnTimeSet) {
|
||||
this.args.inheritTurntime = 0;
|
||||
return;
|
||||
}
|
||||
this.args.inheritTurntime = this.inheritTurnTimeMinute * 60 + newValue;
|
||||
},
|
||||
inheritTurnTimeSet(newValue: boolean) {
|
||||
if (!newValue) {
|
||||
this.args.inheritTurntime = 0;
|
||||
return;
|
||||
}
|
||||
this.args.inheritTurntime =
|
||||
this.inheritTurnTimeMinute * 60 + this.inheritTurnTimeSecond;
|
||||
|
||||
+10
-2
@@ -140,9 +140,17 @@ class TimeUtil
|
||||
|
||||
public static function secondsToDateInterval(float $fullSeconds): \DateInterval
|
||||
{
|
||||
$d0 = new \DateTime("@0");
|
||||
$inverted = $fullSeconds < 0?1:0;
|
||||
|
||||
return $d0->diff(static::secondsToDateTime($fullSeconds, true));
|
||||
$fullSeconds = abs($fullSeconds);
|
||||
$seconds = floor($fullSeconds);
|
||||
$fraction = $fullSeconds - $seconds;
|
||||
|
||||
$interval = new \DateInterval("PT{$seconds}S");
|
||||
|
||||
$interval->f = $fraction;
|
||||
$interval->invert = $inverted;
|
||||
return $interval;
|
||||
}
|
||||
|
||||
public static function DateTimeToSeconds(\DateTimeInterface $dateTime, bool $isUTC = false): float
|
||||
|
||||
Reference in New Issue
Block a user