From 84cd8c28c8415c7877630d3a7da0ff1ffa0da5d2 Mon Sep 17 00:00:00 2001 From: bloeys Date: Tue, 6 Dec 2022 05:20:20 +0400 Subject: [PATCH] Add BaseComp --- entity/comp.go | 16 ++++++++++++++++ main.go | 4 +++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/entity/comp.go b/entity/comp.go index bca5a8c..12576ca 100755 --- a/entity/comp.go +++ b/entity/comp.go @@ -1,9 +1,25 @@ package entity type Comp interface { + // This ensures that implementors of the Comp interface + // always embed BaseComp + base() + Name() string } +var _ Comp = &BaseComp{} + +type BaseComp struct { +} + +func (b *BaseComp) base() { +} + +func (b *BaseComp) Name() string { + return "Base Component" +} + func AddComp(e *Entity, c Comp) { e.Comps = append(e.Comps, c) } diff --git a/main.go b/main.go index f96a709..835598a 100755 --- a/main.go +++ b/main.go @@ -71,12 +71,14 @@ type OurGame struct { } type TransformComp struct { + entity.BaseComp + Pos *gglm.Vec3 Rot *gglm.Quat Scale *gglm.Vec3 } -func (t TransformComp) Name() string { +func (t *TransformComp) Name() string { return "Transform Component" }