Exemple #1
0
    private void OnObjectRemoved(Sector sector, IGameObject Object)
    {
        //handle drawable ILayers
        if (Object is IDrawableLayer || Object is Tilemap)
        {
            Layer  layer  = (Layer)SceneGraphRoot;
            ILayer ILayer = (ILayer)Object;
            layer.Remove(ILayer.Layer, colors[ILayer]);
            colors.Remove(ILayer);
            QueueDraw();
            return;
        }

        if (!(Object is IObject))
        {
            LogManager.Log(LogLevel.Error, "SectorRenderer:OnObjectRemoved unhandled object " + Object);
            return;
        }
        IObject iObject = (IObject)Object;
        Node    node    = iObject.GetSceneGraphNode();

        if (node != null)
        {
            objectsNode.RemoveChild(node);
        }
    }
    private void OnObjectRemoved(Sector sector, IGameObject Object)
    {
        //handle tilemaps
        if (Object is Tilemap)
        {
            Layer   layer = (Layer)SceneGraphRoot;
            Tilemap tm    = (Tilemap)Object;
            layer.Remove(tm.ZPos, (ColorNode)colors[tm]);
            colors.Remove(tm);
            QueueDraw();
            return;
        }
        //handle backgrounds
        if (Object is Background)
        {
            Node bgNode = ((Background)Object).GetSceneGraphNode();
            backgroundNode.RemoveChild(bgNode);
            QueueDraw();
            return;
        }

        if (!(Object is IObject))
        {
            LogManager.Log(LogLevel.Error, "SectorRenderer:OnObjectRemoved unhandled object " + Object);
            return;
        }
        IObject iObject = (IObject)Object;
        Node    node    = iObject.GetSceneGraphNode();

        if (node != null)
        {
            objectsNode.RemoveChild(node);
        }
    }