5
5
using System . Linq ;
6
6
using System . Text ;
7
7
using System . Threading . Tasks ;
8
+ using System . Text . Json ;
8
9
9
10
namespace GameObject . IO
10
11
{
@@ -15,6 +16,7 @@ public class MagicFileWriter
15
16
{
16
17
FileStream stream ;
17
18
BinaryWriter writer ;
19
+ StreamWriter jsonwriter ;
18
20
public MagicFileWriter ( )
19
21
{
20
22
@@ -39,21 +41,61 @@ public void WriteAbilityFile(List<ModularAbility> Abilities, string FileName = "
39
41
writer . Close ( ) ;
40
42
writer . Dispose ( ) ;
41
43
stream . Dispose ( ) ;
44
+
45
+ string json = JsonSerializer . Serialize ( Abilities , new JsonSerializerOptions { WriteIndented = true } ) ;
46
+ stream = new FileStream ( "gamedata\\ abilities.json" , FileMode . OpenOrCreate ) ;
47
+
48
+ jsonwriter = new StreamWriter ( stream ) ;
49
+ jsonwriter . Write ( json ) ;
50
+ jsonwriter . Close ( ) ;
51
+ jsonwriter . Dispose ( ) ;
52
+ stream . Close ( ) ;
53
+
54
+
55
+
42
56
}
43
57
44
58
public void WriteClassFile ( List < CharacterTemplate > Classes , string FileName = "" )
45
59
{
46
60
WriteClassFileVersion1 ( Classes , FileName ) ;
61
+
62
+ string json = JsonSerializer . Serialize ( Classes , new JsonSerializerOptions { WriteIndented = true } ) ;
63
+ stream = new FileStream ( "gamedata\\ classes.json" , FileMode . OpenOrCreate ) ;
64
+
65
+ jsonwriter = new StreamWriter ( stream ) ;
66
+ jsonwriter . Write ( json ) ;
67
+ jsonwriter . Close ( ) ;
68
+ jsonwriter . Dispose ( ) ;
69
+ stream . Close ( ) ;
70
+
47
71
}
48
72
49
73
public void WriteItemTypeDefinitionFile ( List < ItemTypeDefinition > ItemTypeDefinitions , string FileName = "" )
50
74
{
51
75
WriteItemTypeDefinitionFile1 ( ItemTypeDefinitions , FileName ) ;
76
+
77
+ string json = JsonSerializer . Serialize ( ItemTypeDefinitions , new JsonSerializerOptions { WriteIndented = true } ) ;
78
+ stream = new FileStream ( "gamedata\\ itemtypes.json" , FileMode . OpenOrCreate ) ;
79
+
80
+ jsonwriter = new StreamWriter ( stream ) ;
81
+ jsonwriter . Write ( json ) ;
82
+ jsonwriter . Close ( ) ;
83
+ jsonwriter . Dispose ( ) ;
84
+ stream . Close ( ) ;
52
85
}
53
86
54
87
public void WriteItemAddonDefinitionFile ( List < ItemAddonEntry > Addons , string FileName = "" )
55
88
{
56
89
WriteItemAddonDefinitionFile1 ( Addons , FileName ) ;
90
+
91
+ string json = JsonSerializer . Serialize ( Addons , new JsonSerializerOptions { WriteIndented = true } ) ;
92
+ stream = new FileStream ( "gamedata\\ itemaddons.json" , FileMode . OpenOrCreate ) ;
93
+
94
+ jsonwriter = new StreamWriter ( stream ) ;
95
+ jsonwriter . Write ( json ) ;
96
+ jsonwriter . Close ( ) ;
97
+ jsonwriter . Dispose ( ) ;
98
+ stream . Close ( ) ;
57
99
}
58
100
59
101
public void WriteClassFileVersion0 ( List < CharacterTemplate > Classes , string FileName = "" )
@@ -321,8 +363,8 @@ void WriteEffect(ITimedEffect effect)
321
363
writer . Write ( effect . DeltaTime ) ;
322
364
writer . Write ( effect . BaseDuration ) ;
323
365
writer . Write ( effect . DeltaDuration ) ;
324
- writer . Write ( effect . GetParamValues ( ) . Length ) ;
325
- foreach ( string s in effect . GetParamValues ( ) )
366
+ writer . Write ( effect . ParamValues . Length ) ;
367
+ foreach ( string s in effect . ParamValues )
326
368
writer . Write ( s ) ;
327
369
}
328
370
0 commit comments