GodBuffDto.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace App\Module\AppGame\Proto;
  3. use Uraus\Kku\Common\DataGod;
  4. /**
  5. * 神灵加持DTO转换为Protobuf数据对象
  6. */
  7. class GodBuffDto
  8. {
  9. /**
  10. * 将Farm模块的GodBuffDto转换为Protobuf的DataGod对象
  11. *
  12. * @param \App\Module\Farm\Dtos\GodBuffDto $godBuffDto
  13. * @return DataGod
  14. */
  15. public static function toDataGod(\App\Module\Farm\Dtos\GodBuffDto $godBuffDto): DataGod
  16. {
  17. $dataGod = new DataGod();
  18. // 设置神灵ID(使用buff类型作为ID)
  19. $dataGod->setId($godBuffDto->buffType);
  20. // 设置激活状态(如果有过期时间且未过期,则为激活状态)
  21. $isActive = !empty($godBuffDto->expireTime) && strtotime($godBuffDto->expireTime) > time();
  22. $dataGod->setStatus($isActive);
  23. // 设置有效期(转换为时间戳)
  24. if (!empty($godBuffDto->expireTime)) {
  25. $expireTime = strtotime($godBuffDto->expireTime);
  26. $dataGod->setVaidTime($expireTime);
  27. }
  28. return $dataGod;
  29. }
  30. }