22
22
Property Read Count As Integer
24
24
Public Function _get(sName As String) As Module
26
26
If $cModules.Exist(sName) Then Return $cModules[sName]
30
30
Public Sub _put(mModule As Module, sName As String)
32
32
If Not $cModules.Exist(sName) Then $cModules.Add(mModule, sName)
36
36
Public Sub Load() As Boolean
38
38
Dim sList As String[]
40
40
Dim sModule As String
42
42
Dim tmpModule As Module
46
46
sList = Dir("./modules", "*.mundus")
48
48
fProgress.Start(sList.Count, ("Loading Modules"), False)
50
50
For Each sModule In sList
52
52
sModule = File.BaseName(sModule)
54
54
fProgress.SetStatus(Subst(("Loading module: &1"), sModule))
56
56
tmpModule = Get(sModule)
58
58
$cModules.Add(tmpModule, sModule)
60
60
fProgress.Increment()
68
68
Public Sub Reload(sName As String)
70
70
Dim tmpModule As Module
72
72
tmpModule = Get(sName)
74
74
$cModules[sName] = tmpModule
78
78
Public Function Get(sName As String, Optional bLoadModule As Boolean = True) As Module
80
80
Dim sPath As String
82
82
Dim cModule As Collection
84
84
sPath = "./modules" &/ sName & ".mundus"
86
86
cModule = JSON.Decode(File.Load(sPath))
88
88
Return New Module(cModule, bLoadModule)
92
92
Debug "Module is corrupted: " & sName
98
98
Private Function All_Read() As Collection
104
104
Private Function Count_Read() As Integer
106
106
Return $cModules.Count