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