diff --git a/Event/EventBase.gd b/Event/EventBase.gd new file mode 100644 index 00000000..47c59e8d --- /dev/null +++ b/Event/EventBase.gd @@ -0,0 +1,18 @@ +extends Resource +class_name EventBase + +var EVENTS_CLASSIFICATION: Array[Resource] = [EventMob, EventRandom, EventShop, EventHeal] + +var packedScene: String = "" + +# Initialize Event +func _init() -> void: + pass + +func _update_event() -> void: + pass + +func _load_scene() -> Node: + var loadScene: PackedScene = load(packedScene) + return loadScene.instantiate() + diff --git a/Event/EventHeal.gd b/Event/EventHeal.gd new file mode 100644 index 00000000..5c9c9d63 --- /dev/null +++ b/Event/EventHeal.gd @@ -0,0 +1,10 @@ +extends EventBase +class_name EventHeal + +# @Override +func _init() -> void: + pass + +# @Override +func _update_event() -> void: + print("Updating Heal Event") diff --git a/Event/EventMob.gd b/Event/EventMob.gd new file mode 100644 index 00000000..22039df8 --- /dev/null +++ b/Event/EventMob.gd @@ -0,0 +1,10 @@ +extends EventBase +class_name EventMob + +# @Override +func _init() -> void: + pass + +# @Override +func _update_event() -> void: + print("Update Mob") diff --git a/Event/EventRandom.gd b/Event/EventRandom.gd new file mode 100644 index 00000000..9dc71de4 --- /dev/null +++ b/Event/EventRandom.gd @@ -0,0 +1,10 @@ +extends EventBase +class_name EventRandom + +# @Override +func _init() -> void: + pass + +# @Override +func _update_event() -> void: + print("Updating Random Event") diff --git a/Event/EventShop.gd b/Event/EventShop.gd new file mode 100644 index 00000000..c1bb4b57 --- /dev/null +++ b/Event/EventShop.gd @@ -0,0 +1,10 @@ +extends EventBase +class_name EventShop + +# @Override +func _init() -> void: + pass + +# @Override +func _update_event() -> void: + print("Updating shop") diff --git a/Tests/test_eventbase.gd b/Tests/test_eventbase.gd new file mode 100644 index 00000000..e4c6ded5 --- /dev/null +++ b/Tests/test_eventbase.gd @@ -0,0 +1,21 @@ +extends GutTest +## Test for Event Base and Events + +var eventBase: EventBase = null + +func before_each(): + eventBase = EventBase.new() + +func test_event_base_array_all_types(): + var event0 = eventBase.EVENTS_CLASSIFICATION[0] + assert_eq(event0, EventMob) + + var event1 = eventBase.EVENTS_CLASSIFICATION[1] + assert_eq(event1, EventRandom) + + var event2 = eventBase.EVENTS_CLASSIFICATION[2] + assert_eq(event2, EventShop) + + var event3 = eventBase.EVENTS_CLASSIFICATION[3] + assert_eq(event3, EventHeal) +