mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-06-04 03:55:50 +00:00
Add AbstractGameRule.cs & derived classes
This commit is contained in:
23
PckStudio.Core/GameRule/AbstractGameRule.cs
Normal file
23
PckStudio.Core/GameRule/AbstractGameRule.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using OMI.Formats.GameRule;
|
||||
|
||||
namespace PckStudio.Core.GameRule
|
||||
{
|
||||
internal abstract class AbstractGameRule
|
||||
{
|
||||
private List<AbstractGameRule> _gameRules = new List<AbstractGameRule>();
|
||||
protected void AddRule(AbstractGameRule gameRule) => _gameRules.Add(gameRule);
|
||||
|
||||
protected abstract GameRuleFile.GameRule GetGameRule();
|
||||
public static implicit operator GameRuleFile.GameRule(AbstractGameRule abstractGameRule)
|
||||
{
|
||||
GameRuleFile.GameRule gameRule = abstractGameRule.GetGameRule();
|
||||
gameRule.AddRules(abstractGameRule._gameRules.Select(agr => agr.GetGameRule()));
|
||||
return gameRule;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user