Refactoring model inside properties

Make a Property Group for blender
This commit is contained in:
2024-05-12 18:15:19 +02:00
parent 1f7d5b40e8
commit 4f539912eb
6 changed files with 17 additions and 3 deletions
+55
View File
@@ -0,0 +1,55 @@
import bpy
from pathlib import Path
from dataclasses import dataclass
class FangeProject:
"""
This object is a model to give all Unity project path.
"""
def __init__(self):
self._pref = bpy.context.preferences.addons[__name__.split(".")[0]].preferences
self._project_path = Path(self._pref.project_path)
self._subdir_path = Path(self._pref.subdir_graph)
self._building_path = Path(self._pref.subdir_buildings)
self._props_path = Path(self._pref.subdir_props)
self._characters_path = Path(self._pref.subdir_characters)
@property
def buildings(self):
"""Get the buildings project path, on absolute"""
return self._project_path.joinpath(self._subdir_path, self._building_path)
@property
def props(self):
return self._project_path.joinpath(self._subdir_path, self._props_path)
@property
def characters(self):
return self._project_path.joinpath(self._subdir_path, self._characters_path)
@dataclass
class Collection:
name: str
color: str
class Outline:
"""
Model about the Outline config.
"""
def __init__(self):
self._collections = {
'Placeholder': Collection(name='Placeholder', color='COLOR_01'),
'Icon': Collection(name='Icon', color='COLOR_04'),
'Game Object': Collection(name='Game Object', color='COLOR_05')
}
@property
def collections(self) -> [str]:
"""Returns all collections in a dict"""
return self._collections