/// <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; }
/// <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(); }