/// <summary> /// 一番最初に追加された3Dレイヤーにオブジェクトを削除する。 /// </summary> /// <param name="o">オブジェクト</param> /// <returns>成否</returns> public static bool RemoveObject3D(Object3D o) { Scene scene = null; if(CurrentScene != null) { scene = CurrentScene; } else if(nextScene != null) { scene = nextScene; } if(scene == null) return false; var layers = scene.Layers; foreach(var layer in layers) { if(layer.LayerType == LayerType.Layer3D) { var layer3d = (Layer3D)layer; layer3d.RemoveObject(o); return true; } } return false; }
/// <summary> /// このレイヤーに指定した3Dオブジェクトを追加する。 /// </summary> /// <param name="object3D">追加する3Dオブジェクト</param> public void AddObject(Object3D object3D) { if (object3D.Layer != null) { Particular.Helper.ThrowException("指定したオブジェクトは既に別のレイヤーに所属しています。"); } contentsManager.Add(object3D); coreLayer3D.AddObject(object3D.CoreObject); object3D.Layer = this; object3D.Start(); }
/// <summary> /// このレイヤーから指定した3Dオブジェクトを削除する。 /// </summary> /// <param name="object3D">削除される3Dオブジェクト</param> public void RemoveObject(Object3D object3D) { contentsManager.Remove(object3D); coreLayer3D.RemoveObject(object3D.CoreObject); object3D.Layer = null; }