public void Enter(Entity entity) { if (base.Add(entity)) { GameObjectAdded?.Invoke(this, entity); } }
private void UpdateEntitiesCollection() { if (_toAdd.Count > 0) { foreach (var entity in _toAdd.Where(entity => !_entities.Contains(entity))) { _entities.Add(entity); GameObjectAdded?.Invoke(entity); } _toAdd.Clear(); } if (_toRemove.Count > 0) { foreach (var entity in _toRemove) { if (_entities.Remove(entity)) { GameObjectRemoved?.Invoke(entity); } } _toRemove.Clear(); } }
public void PastSelection() { if (Copy != null) { var sceneObject = (GameObject)Copy.Clone(); var previous = Copy; Copy = previous; var x = Copy.Transform.Position.X; x += Copy.GetComponent <Renderer>().BoundingSphere.Radius * 2.0f; sceneObject.Transform.SetLocalPosition(x, null, null); if (Input.Keys.Pressed(Keys.LeftControl)) { Copy = Selected; } GameObjectAdded?.Invoke(Copy); } }
public void DuplicateSelection() { Copy = Selected; GameObjectAdded?.Invoke(Copy); }
private void OnGameObjectAdded(IGameObject obj) { GameObjectAdded?.Invoke(obj); }