private void SpawnFloor(IntVector3 position)
        {
            /* Spawn floor object and initialize if it does not exist yet */
            if (this.goReference == null) {
                PreloadPrefabs();

                this.goReference = floorPrefab.Spawn();

                this.goReference.transform.position = position.ToVector3();
                this.goReference.transform.eulerAngles = floorPrefab.transform.eulerAngles;
            }

            /* TODO: Add texture update logic */
        }
        private void SpawnWall(WallType type, IntVector3 position, Rotation rotation)
        {
            var prefabs = registry.WallObjectHelper.Prefabs;

            if (!prefabs.ContainsKey(type)) {
                Logger.Warn("Could not load prefab for type {0}.", type);
                return;
            }

            var prefab = prefabs[type].Spawn();
            prefab.transform.position = position.ToVector3();

            this.goReference = prefab;
            this.Type = type;

            SetRotation(rotation);
            Logger.Info("Spawned wall {0} at {1} {2}.", type, position, this.goReference.transform.eulerAngles);
        }
        private void SpawnDoor(IntVector3 position, Rotation rotation)
        {
            if (this.goReference == null) {
                PreloadPrefabs();

                this.goReference = doorPrefab.Spawn();
                this.goReference.transform.position = position.ToVector3();

                SetRotation(rotation);
            }
        }