Ejemplo n.º 1
0
        /// <summary>
        /// 指定したレイヤーをこのシーンから削除する。
        /// </summary>
        /// <param name="layer">削除されるレイヤー</param>
        public void RemoveLayer(Layer layer)
        {
            if(executing)
            {
                removingLayer.AddLast(layer);
                return;
            }

            layersToDraw_.Remove(layer);
            layersToUpdate_.Remove(layer);
            CoreScene.RemoveLayer(layer.CoreLayer);
            layer.Scene = null;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 指定したレイヤーをこのシーンに追加する。
        /// </summary>
        /// <param name="layer">追加されるレイヤー</param>
        public void AddLayer(Layer layer)
        {
            if (executing)
            {
                addingLayer.AddLast(layer);
                return;
            }

            if (layer.Scene != null)
            {
                Particular.Helper.ThrowException("指定したレイヤーは、既に別のシーンに所属しています。");
            }
            layersToDraw_.Add(layer);
            layersToUpdate_.Add(layer);
            CoreScene.AddLayer(layer.CoreLayer);
            layer.Scene = this;
            layer.Start();
        }