public override void DoCommand(AdvEngine engine) { float fadeTime = engine.Page.ToSkippedTime(time); AdvGraphicGroup characterManager = engine.GraphicManager.CharacterManager; if (string.IsNullOrEmpty(name)) { characterManager.FadeOutAll(fadeTime); } else { //オブジェクト名からレイヤーを探す AdvGraphicLayer layer = characterManager.FindLayerFromObjectName(name); if (layer != null) { //指定のオブジェクトを消す layer.FadeOut(name, fadeTime); } else { //レイヤー名として検索 layer = characterManager.FindLayer(name); if (layer != null) { //レイヤー全てを消す layer.FadeOutAll(fadeTime); } } } }
public override void DoCommand(AdvEngine engine) { if (string.IsNullOrEmpty(name)) { engine.GraphicManager.SpriteManager.FadeOutAll(engine.Page.ToSkippedTime(this.fadeTime)); } else { //オブジェクト名からレイヤーを探す AdvGraphicLayer layer = engine.GraphicManager.FindLayerByObjectName(name); if (layer != null) { //指定のオブジェクトを消す layer.FadeOut(name, engine.Page.ToSkippedTime(this.fadeTime)); } } }
// 強制前面表示するか. private bool IsCharacterForceFront(AdvPage page, AdvGraphicLayer layer) { var pageBeginLayer = page.Engine.GraphicManager.CharacterManager.AllGraphicsLayers(); // しゃべっているキャラ. if ((mask & TargetMask.Talking) == TargetMask.Talking) { if (layer.DefaultObject.name == page.CharacterLabel) { return(true); } } // ページ内の新規キャラ. if ((mask & TargetMask.NewCharacerInPage) == TargetMask.NewCharacerInPage) { if (pageBeginLayer.Find(x => (x != null) && x.DefaultObject != null && (x.DefaultObject.name == layer.DefaultObject.name)) == null) { return(true); } } return(false); }