internal override void OnDraw(GraphicInfoList graphic, float fadeTime) { //テクスチャが同じなら、変化なし if (this.CurrentSprite != null && this.CurrentSprite.GraphicInfo == graphic.Main) { return; } //フェードアウト中のスプライトは消す if (FadeOutSprite != null) { FadeOutSprite.FadeOut(0, true); FadeOutSprite = null; } if (CurrentSprite != null) { //既にスプライトがあるならフェードアウトさせる FadeOutSprite = CurrentSprite; ///表示順は手前にする FadeOutSprite.LocalOrderInLayer = FadeOutSprite.LocalOrderInLayer + 1; FadeOutSprite.FadeOut(fadeTime, true); //テクスチャからスプライト作成 CurrentSprite = CreateSprite(graphic); } else { //新規スプライトがあるならフェードインさせる //テクスチャからスプライト作成 CurrentSprite = CreateSprite(graphic); CurrentSprite.FadeIn(fadeTime); } }
//フェードアウト処理 internal override void OnFadeOut(float fadeTime) { CurrentSprite.FadeOut(fadeTime, true); if (FadeOutSprite) { FadeOutSprite.FadeOut(0, true); FadeOutSprite = null; } }