From 077a9854a509eba39c1f7a7a48101353937508b5 Mon Sep 17 00:00:00 2001 From: D4rkr34lm Date: Sun, 8 Oct 2023 12:06:48 +0200 Subject: [PATCH] Add class Hierarchy --- .../features/simulator2/data/Simulator.java | 4 ++++ .../simulator2/data/SimulatorElement.java | 8 ++++++- .../simulator2/data/SimulatorGroup.java | 4 ++++ .../simulator2/data/SimulatorSetting.java | 23 +++++++++++++++++++ .../data/redstone/RedstoneElement.java | 4 +++- .../data/redstone/RedstoneSetting.java | 4 +++- .../simulator2/data/tnt/TNTElement.java | 4 +++- .../simulator2/data/tnt/TNTSetting.java | 4 +++- 8 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorSetting.java diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/Simulator.java b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/Simulator.java index 9354b78a..becfb213 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/Simulator.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/Simulator.java @@ -1,4 +1,8 @@ package de.steamwar.bausystem.features.simulator2.data; +import java.util.ArrayList; +import java.util.List; + public class Simulator { + private List elements = new ArrayList<>(); } diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorElement.java b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorElement.java index 61f20f42..76139dee 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorElement.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorElement.java @@ -1,4 +1,10 @@ package de.steamwar.bausystem.features.simulator2.data; -public abstract class SimulatorElement { +import java.util.ArrayList; +import java.util.List; + +public abstract class SimulatorElement { + protected List settings = new ArrayList<>(); + + } diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorGroup.java b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorGroup.java index b212828c..1ed3aa3a 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorGroup.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorGroup.java @@ -1,4 +1,8 @@ package de.steamwar.bausystem.features.simulator2.data; +import java.util.ArrayList; +import java.util.List; + public class SimulatorGroup { + private List> elements = new ArrayList<>(); } diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorSetting.java b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorSetting.java new file mode 100644 index 00000000..0f5e36a2 --- /dev/null +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/SimulatorSetting.java @@ -0,0 +1,23 @@ +/* + * This file is a part of the SteamWar software. + * + * Copyright (C) 2023 SteamWar.de-Serverteam + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package de.steamwar.bausystem.features.simulator2.data; + +public interface SimulatorSetting { +} diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/redstone/RedstoneElement.java b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/redstone/RedstoneElement.java index ddcf6c4c..eace1fad 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/redstone/RedstoneElement.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/redstone/RedstoneElement.java @@ -1,5 +1,7 @@ package de.steamwar.bausystem.features.simulator2.data.redstone; -public class RedstoneElement { +import de.steamwar.bausystem.features.simulator2.data.SimulatorElement; + +public class RedstoneElement extends SimulatorElement { } diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/redstone/RedstoneSetting.java b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/redstone/RedstoneSetting.java index e849a230..931403b6 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/redstone/RedstoneSetting.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/redstone/RedstoneSetting.java @@ -1,4 +1,6 @@ package de.steamwar.bausystem.features.simulator2.data.redstone; -public class RedstoneSetting { +import de.steamwar.bausystem.features.simulator2.data.SimulatorSetting; + +public class RedstoneSetting implements SimulatorSetting { } diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/tnt/TNTElement.java b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/tnt/TNTElement.java index aeb86a57..96e7ae3c 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/tnt/TNTElement.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/tnt/TNTElement.java @@ -1,4 +1,6 @@ package de.steamwar.bausystem.features.simulator2.data.tnt; -public class TNTElement { +import de.steamwar.bausystem.features.simulator2.data.SimulatorElement; + +public class TNTElement extends SimulatorElement { } diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/tnt/TNTSetting.java b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/tnt/TNTSetting.java index 147aa3fd..1ba71387 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/tnt/TNTSetting.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/simulator2/data/tnt/TNTSetting.java @@ -1,4 +1,6 @@ package de.steamwar.bausystem.features.simulator2.data.tnt; -public class TNTSetting { +import de.steamwar.bausystem.features.simulator2.data.SimulatorSetting; + +public class TNTSetting implements SimulatorSetting { }