PamGram/core/services/game/services.py
2023-05-03 20:54:26 +08:00

41 lines
1.6 KiB
Python

from core.base_service import BaseService
from core.services.game.cache import GameCacheForStrategy, GameCacheForMaterial, GameCacheForLightCone
__all__ = "GameCacheService"
class GameCacheService(BaseService):
def __init__(
self,
strategy_cache: GameCacheForStrategy,
material_cache: GameCacheForMaterial,
light_cone_cache: GameCacheForLightCone,
):
self.strategy_cache = strategy_cache
self.material_cache = material_cache
self.light_cone_cache = light_cone_cache
async def get_strategy_cache(self, character_name: str) -> str:
cache = await self.strategy_cache.get_file(character_name)
if cache is not None:
return cache.decode("utf-8")
async def set_strategy_cache(self, character_name: str, file: str) -> None:
await self.strategy_cache.set_file(character_name, file)
async def get_material_cache(self, character_name: str) -> str:
cache = await self.material_cache.get_file(character_name)
if cache is not None:
return cache.decode("utf-8")
async def set_material_cache(self, character_name: str, file: str) -> None:
await self.material_cache.set_file(character_name, file)
async def get_light_cone_cache(self, light_cone_name: str) -> str:
cache = await self.light_cone_cache.get_file(light_cone_name)
if cache is not None:
return cache.decode("utf-8")
async def set_light_cone_cache(self, light_cone_name: str, file: str) -> None:
await self.light_cone_cache.set_file(light_cone_name, file)