public void P_RenderSubscribe(PrototypeComponents.IP_RenderComponent sender, RenderLayerEnum renderlayerenum) { switch (renderlayerenum) { case RenderLayerEnum.Background: SubscribeToList(sender, BackgroundLayer, _BackgroundDFlag); break; case RenderLayerEnum.Map: SubscribeToList(sender, MapLayer, _MapDFlag); break; case RenderLayerEnum.Sprite: SubscribeToList(sender, SpriteLayer, _SpriteDFlag); break; case RenderLayerEnum.Effects: SubscribeToList(sender, EffectLayer, _EffectDFlag); break; case RenderLayerEnum.Menu: SubscribeToList(sender, MenuLayer, _MenuDFlag); break; case RenderLayerEnum.Top: SubscribeToList(sender, TopLayer, _TopDFlag); break; default: break; } }
public void AddSpriteToLayer(RenderLayerEnum layer, IRenderNode node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } if (string.IsNullOrEmpty(node.Name)) { throw new InvalidOperationException("Render node can not have an empty name."); } if (node.IsAssetOfType(typeof(Sprite)) || node.IsAssetOfType(typeof(AnimatedSprite))) { CollisionManager.AddSpriteToCollisionManager(node.GetSprite(), node.Name); } switch (layer) { case RenderLayerEnum.LAYER1: Layer1.Add(node); break; case RenderLayerEnum.LAYER2: Layer2.Add(node); break; case RenderLayerEnum.LAYER3: Layer3.Add(node); break; case RenderLayerEnum.LAYER4: Layer4.Add(node); break; case RenderLayerEnum.LAYER5: Layer5.Add(node); break; default: break; } }
public bool RemoveSpriteFromLayer(RenderLayerEnum layer, IRenderNode node) { if (node == null) { throw new ArgumentNullException(nameof(node)); } switch (layer) { case RenderLayerEnum.LAYER1: foreach (IRenderNode n in Layer1.ToArray()) { if (n == node) { _ = Layer1.Remove(node); return(true); } } break; case RenderLayerEnum.LAYER2: foreach (IRenderNode n in Layer2.ToArray()) { if (n == node) { _ = Layer2.Remove(node); return(true); } } break; case RenderLayerEnum.LAYER3: foreach (IRenderNode n in Layer3.ToArray()) { if (n == node) { _ = Layer3.Remove(node); return(true); } } break; case RenderLayerEnum.LAYER4: foreach (IRenderNode n in Layer4.ToArray()) { if (n == node) { _ = Layer4.Remove(node); return(true); } } break; case RenderLayerEnum.LAYER5: foreach (IRenderNode n in Layer5.ToArray()) { if (n == node) { _ = Layer5.Remove(node); return(true); } } break; default: break; } return(false); }
public void P_RenderUnsubscribe(PrototypeComponents.IP_RenderComponent sender, RenderLayerEnum renderlayerenum) { switch (renderlayerenum) { case RenderLayerEnum.Background: UnsubscribeToList(sender, BackgroundLayer); break; case RenderLayerEnum.Map: UnsubscribeToList(sender, MapLayer); break; case RenderLayerEnum.Sprite: UnsubscribeToList(sender, SpriteLayer); break; case RenderLayerEnum.Effects: UnsubscribeToList(sender, EffectLayer); break; case RenderLayerEnum.Menu: UnsubscribeToList(sender, MenuLayer); break; case RenderLayerEnum.Top: UnsubscribeToList(sender, TopLayer); break; default: break; } }