launcher/sys.py/UI/icon_pool.py
2019-01-17 00:56:40 +08:00

48 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
from sys import exit
import os
import sys
from util_funcs import SkinMap
##pool only store surfaces
class IconPool(object):
_GameShellIconPath = SkinMap("gameshell/icons/")
_Icons = {}
_Sizes = {}
def __init__(self):
self._Icons= {}
def Init(self):
files = os.listdir(self._GameShellIconPath)
for i in files:
if os.path.isfile(self._GameShellIconPath+"/"+i) and i.endswith(".png"):
keyname = i.split(".")[0]
self._Icons[keyname] = pygame.image.load(self._GameShellIconPath+"/"+i).convert_alpha()
self._Sizes[keyname] = self._Icons[keyname].get_size()
def Width(self,keyname):
if keyname in self._Sizes:
return self._Sizes[keyname][0]
def Height(self,keyname):
if keyname in self._Sizes:
return self._Sizes[keyname][1]
##global Handler
MyIconPool = None
def InitMyIconPool():
global MyIconPool
if MyIconPool == None:
MyIconPool = IconPool()
InitMyIconPool()