Skip to content

Commit

Permalink
[As-is state commit]:
Browse files Browse the repository at this point in the history
- Moved platforms and targets flags to dedicated file.
- Some localization work.
- Preparing to implement data parsers.
  • Loading branch information
MapleWheels committed Sep 22, 2024
1 parent 38f4005 commit 942c193
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using System;

namespace Barotrauma.LuaCs.Data;

[Flags]
public enum Platform
{
Linux=0x1,
OSX=0x2,
Windows=0x4
}

[Flags]
public enum Target
{
Client=0x1,
Server=0x2
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,3 @@ public interface IAssemblyResourceInfo
/// </summary>
public Target Targets { get; }
}

[Flags]
public enum Platform
{
Linux=0x1,
OSX=0x2,
Windows=0x4
}

[Flags]
public enum Target
{
Client=0x1,
Server=0x2
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,12 @@ public interface IConfigDefinitionInfo
public string ImageIcon { get; }
public ConfigDataType Type { get; }
public string DefaultValue { get; }

}

public enum ConfigDataType
{

Boolean, Int32, Int64, Single, Double, String,
Color, Vector2, Vector3, List,
RangeInt32, RangeSingle, ControlInput
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
using System.Collections.Immutable;
using System.Globalization;

namespace Barotrauma.LuaCs.Data;

public interface ILocalizationResourceInfo
{
CultureInfo TargetCulture { get; }
ImmutableArray<string> FilePaths { get; }
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Globalization;

namespace Barotrauma.LuaCs.Data;

Expand All @@ -10,8 +11,14 @@ public readonly struct ModConfigData

public DependencyInfo[] Dependencies { get; init; }
public AssemblyResourceInfo[] LoadableAssemblies { get; init; }
public LocalizationResourceInfo[] LocalizationFiles { get; init; }


public readonly struct LocalizationResourceInfo : ILocalizationResourceInfo
{
public CultureInfo TargetCulture { get; init; }
public ImmutableArray<string> FilePaths { get; init; }
}

public readonly struct ConfigInitData
{
// TODO: complete struct, data here should be already parsed and ready-to-use by the config service.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
using System;
using System.Globalization;
using System.Collections.Generic;

namespace Barotrauma.LuaCs.Services;

public interface ILocalizationService : IService
{
bool TryLoadFiles(in string[] filePaths);
IReadOnlyCollection<CultureInfo> GetLoadedLocales();
bool TryLoadXmlFiles(in string[] filePaths, CultureInfo defaultCulture);
void UnloadAll();
bool TrySetCurrentCulture(CultureInfo culture);
bool TrySetCurrentCulture(string cultureName);
string GetLocalizedString(string key, string fallback);
string GetLocalizedString(string key, Func<string, string> fbValueFactory);
string GetLocalizedString(string key, CultureInfo targetCulture);
bool TryRegisterLocalizationResolver(CultureInfo targetCulture, Func<string, CultureInfo, string> factoryResolver);
bool ReplaceSymbols(string text, string symbolExpr);
}

0 comments on commit 942c193

Please sign in to comment.