protected override void Entity_ComponentAdded(Entity sender, ComponentEventArgs e) { if (e.Component is ITilePositionComponent p) { this.EntityPosition = p; } base.Entity_ComponentAdded(sender, e); }
protected override void Entity_ComponentRemoved(Entity sender, ComponentEventArgs e) { if (e.Component == this.entityPosition) { this.EntityPosition = null; } base.Entity_ComponentRemoved(sender, e); }
private void onTilePositionChanged(ITilePositionComponent sender, TilePositionEventArgs e) { this.tilePositionComponents[e.PreviousPosition].Remove(sender); if (!this.tilePositionComponents.ContainsKey(e.NewPosition)) { this.tilePositionComponents[e.NewPosition] = new List <ITilePositionComponent>() { sender }; } else { this.tilePositionComponents[e.NewPosition].Add(sender); } }
public AttachedTilePositionComponent(ITilePositionComponent tilePositionComponent) : base(tilePositionComponent) { this.TilePositionComponent = tilePositionComponent; }
private void tilePositionComponent_TilePositionChanged(ITilePositionComponent sender, TilePositionEventArgs e) { TilePositionChanged?.Invoke(sender, e); }