コード例 #1
0
ファイル: Scene.cs プロジェクト: junkyard-repos/ExoGame2D
        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;
            }
        }