public virtual void Restore(EntityMemento memento, LevelEntities entities) { EntityID = memento.EntityID; transform.position = memento.Position; transform.rotation = memento.Rotation; transform.localScale = memento.Scale; gameObject.AddComponent <SnapToGrid>(); }
public GameObject CreateGameObject(LevelEntities entities) { GameObject entityObj = new GameObject(EntityType.Name); BaseEntity component = (BaseEntity)entityObj.AddComponent(EntityType); component.Restore(this, entities); return(entityObj); }
public LevelEntities ToScene(DreamSystem dreamSystem = null, SettingsSystem settingsSystem = null) { _levelObject = new GameObject("Level"); LevelEntities levelEntities = _levelObject.AddComponent <LevelEntities>(); levelEntities.DreamSystem = dreamSystem; levelEntities.SettingsSystem = settingsSystem; foreach (var entity in Entities) { GameObject entityObj = entity.CreateGameObject(levelEntities); entityObj.transform.SetParent(_levelObject.transform); } return(levelEntities); }