Esempio n. 1
0
        /// <summary>
        /// 各種パラメータを指定して DebugText クラスの新しいインスタンスを初期化します。
        /// </summary>
        /// <param name="options">デバッグ表示のテキストに用いられるテキストオプション。</param>
        /// <param name="Window">デバッグ表示が行われるウィンドウ。</param>
        public DebugText(TextOptions options, SitrineWindow window)
        {
            if (options == null)
            {
                throw new ArgumentNullException("options");
            }

            if (window == null)
            {
                throw new ArgumentNullException("window");
            }

            this.textOptions = options;

            this.textOptions.SetSolidBrushes(Color.White, Color.FromArgb(128, Color.Black), Color.Green, Color.Yellow, Color.Red);
            this.textOptions.ShadowIndex = 1;
            this.textOptions.DrawShadow  = true;

            this.debugTexture              = new TextTexture(this.textOptions, new Size(window.TargetSize.Width, (int)options.LineHeight + 1));
            this.debugTextTexture          = new TextTexture(this.textOptions, new Size(window.TargetSize.Width, (int)(options.LineHeight + 1) * 4 + 1));
            this.debugTextTexture.Position = new PointF(0f, options.LineHeight + 1);

            this.window   = window;
            this.textures = window.Textures;

            this.textQueue = new LinkedList <TextItem>();

#if DEBUG
            this.IsVisible = true;
#else
            this.IsVisible = false;
#endif
        }
Esempio n. 2
0
        public SampleStory(SitrineWindow window)
            : base(window)
        {
            #region Initalize
            var file   = File.ReadAllLines("resource/message.txt");
            var handle = new HandleStore("resource/sound.txt");
            this.InitalizeMessage(window.TextOptions, new Size(320, 80));

            Message.Interval      = 2;
            Message.ProgressCount = 2;
            Message.Position      = new PointF(0, 160);
            Message.TextureUpdate = (s, e2) => Music.PushNow(handle["message_progress"]);

            Screen.BackgroundColor = Color.FromArgb(10, 59, 118);
            Screen.ForegroundColor = Color.Black;
            #endregion

            Process.Loop(e => e.Keyboard.WaitFor(window.ToggleDebugVisibility, Key.F3));

            Music.Push(handle["message_init"])
            .LoadPreset("resource/ux_preset.xml")
            .AddLayer("music", Enumerable.Range(1, 23).Except(new[] { 16 }));

            Screen.FadeIn(5.0, EasingFunctions.QuadEaseOut);
            Process.Wait(1.0);

            for (int i = 0; i < file.Length; i += 4)
            {
                Message.Show(String.Join("\n", file.Skip(i).Take(4)));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 各種パラメータを指定して DebugText クラスの新しいインスタンスを初期化します。
        /// </summary>
        /// <param name="options">デバッグ表示のテキストに用いられるテキストオプション。</param>
        /// <param name="Window">デバッグ表示が行われるウィンドウ。</param>
        public DebugText(TextOptions options, SitrineWindow window)
        {
            if (options == null)
                throw new ArgumentNullException("options");

            if (window == null)
                throw new ArgumentNullException("window");

            this.textOptions = options;

            this.textOptions.SetSolidBrushes(Color.White, Color.FromArgb(128, Color.Black), Color.Green, Color.Yellow, Color.Red);
            this.textOptions.ShadowIndex = 1;
            this.textOptions.DrawShadow = true;

            this.debugTexture = new TextTexture(this.textOptions, new Size(window.TargetSize.Width, (int)options.LineHeight + 1));
            this.debugTextTexture = new TextTexture(this.textOptions, new Size(window.TargetSize.Width, (int)(options.LineHeight + 1) * 4 + 1));
            this.debugTextTexture.Position = new PointF(0f, options.LineHeight + 1);

            this.window = window;
            this.textures = window.Textures;

            this.textQueue = new LinkedList<TextItem>();

            #if DEBUG
            this.IsVisible = true;
            #else
            this.IsVisible = false;
            #endif
        }
Esempio n. 4
0
        /// <summary>
        /// 指定したストーリーを実行する LoopStoryboard クラスのインスタンスを作成します。
        /// </summary>
        /// <param name="window">ストーリーボードが実行されるウィンドウオブジェクト。</param>
        /// <param name="storyevents">ストーリーイベントが記述されたメソッド。</param>
        /// <param name="loopCount">ループの回数。-1 を設定すると無限にループを行います。</param>
        /// <returns>生成されたストーリーボード。</returns>
        public static LoopStoryboard Create(SitrineWindow window, Action <Storyboard> storyevents, int loopCount = -1)
        {
            LoopStoryboard loopstory = new LoopStoryboard(window);

            storyevents(loopstory);
            loopstory.LoopCount = loopCount;
            loopstory.StartLooping();

            return(loopstory);
        }
Esempio n. 5
0
        /// <summary>
        /// ストーリーボードオブジェクトとそれが実行されるウィンドウオブジェクトを指定して Storyboard クラスの新しいインスタンスを初期化します。
        /// </summary>
        /// <param name="Storyboard">対象となる Storyboard オブジェクト。</param>
        /// <param name="Window">ストーリーボードが実行される SitrineWindow オブジェクト。</param>
        public StoryEvent(Storyboard storyboard, SitrineWindow window)
        {
            if (storyboard == null)
                throw new ArgumentNullException("stroyboard");

            if (window == null)
                throw new ArgumentNullException("window");

            this.Storyboard = storyboard;
            this.Window = window;
        }
Esempio n. 6
0
        /// <summary>
        /// ストーリーボードオブジェクトとそれが実行されるウィンドウオブジェクトを指定して Storyboard クラスの新しいインスタンスを初期化します。
        /// </summary>
        /// <param name="Storyboard">対象となる Storyboard オブジェクト。</param>
        /// <param name="Window">ストーリーボードが実行される SitrineWindow オブジェクト。</param>
        public StoryEvent(Storyboard storyboard, SitrineWindow window)
        {
            if (storyboard == null)
            {
                throw new ArgumentNullException("stroyboard");
            }

            if (window == null)
            {
                throw new ArgumentNullException("window");
            }

            this.Storyboard = storyboard;
            this.Window     = window;
        }
Esempio n. 7
0
        static void Main()
        {
            using (FontLoader font = new FontLoader("font/VL-Gothic-Regular.ttf"))
                using (FontLoader debugFont = new FontLoader("font/88 Zen.ttf"))
                {
                    TextOptions textOptions = new TextOptions(font.Family, 12, 17)
                    {
                        ShadowIndex  = 1,
                        DrawShadow   = true,
                        Antialiasing = true
                    };
                    textOptions.SetSolidBrushes(Color.White, Color.Black, Color.OrangeRed);

                    TextOptions debugTextOptions = new TextOptions(debugFont.Family, 8, 8)
                    {
                        ShadowIndex = 1,
                        DrawShadow  = true,
                    };
                    debugTextOptions.SetSolidBrushes(Color.White, Color.Black);

                    WindowOptions options = new WindowOptions()
                    {
                        Title            = "Sample",
                        TargetSize       = new Size(320, 240),
                        WindowSize       = new Size(640, 480),
                        DebugTextOptions = debugTextOptions,
                        TextOptions      = textOptions
                    };

                    using (SitrineWindow window = new SitrineWindow(options))
                    {
                        window.AddStoryboard(new SampleStory(window));
                        window.Run(30.0, 60.0);
                    }
                }
        }
Esempio n. 8
0
 internal TextureEvent(Storyboard storyboard, SitrineWindow window)
     : base(storyboard, window)
 {
     this.asignment = new Dictionary<int, int>();
 }
Esempio n. 9
0
 public AnimateStoryboard(SitrineWindow window)
     : base(window)
 {
 }
Esempio n. 10
0
 internal ProcessEvent(Storyboard storyboard, SitrineWindow window)
     : base(storyboard, window)
 {
 }
Esempio n. 11
0
 /// <summary>
 /// ストーリーボードが動作する SitrineWindow オブジェクトを指定して新しい Storyboard クラスのインスタンスを初期化します。
 /// </summary>
 /// <param name="Window">動作対象の SitrineWindow オブジェクト。</param>
 public LoopStoryboard(SitrineWindow window)
     : base(window)
 {
     this.AutoEnd = false;
 }
Esempio n. 12
0
 /// <summary>
 /// ストーリーボードが動作する SitrineWindow オブジェクトを指定して新しい Storyboard クラスのインスタンスを初期化します。
 /// </summary>
 /// <param name="Window">動作対象の SitrineWindow オブジェクト。</param>
 public LoopStoryboard(SitrineWindow window)
     : base(window)
 {
     this.AutoEnd = false;
 }
Esempio n. 13
0
 internal MusicEvent(Storyboard storyboard, SitrineWindow window)
     : base(storyboard, window)
 {
 }
Esempio n. 14
0
 internal ScreenEvent(Storyboard storyboard, SitrineWindow window)
     : base(storyboard, window)
 {
 }
Esempio n. 15
0
 internal ScreenEvent(Storyboard storyboard, SitrineWindow window)
     : base(storyboard, window)
 {
 }
Esempio n. 16
0
 internal MessageEvent(Storyboard storyboard, SitrineWindow window, TextOptions options, Size size)
     : base(storyboard, window)
 {
     this.texture = new MessageTexture(options, size);
 }
Esempio n. 17
0
 internal TextureEvent(Storyboard storyboard, SitrineWindow window)
     : base(storyboard, window)
 {
     this.asignment = new Dictionary <int, int>();
 }
Esempio n. 18
0
 internal MessageEvent(Storyboard storyboard, SitrineWindow window, TextRenderer renderer, Size size)
     : base(storyboard, window)
 {
     this.texture = new MessageTexture(renderer, size);
 }
Esempio n. 19
0
 /// <summary>
 /// ストーリーボードが動作する SitrineWindow オブジェクトを指定して新しい RenderStoryboard クラスのインスタンスを初期化します。
 /// </summary>
 /// <param name="Window">動作対象の SitrineWindow オブジェクト。</param>
 public RenderStoryboard(SitrineWindow window)
     : base(window)
 {
 }
Esempio n. 20
0
 internal ProcessEvent(Storyboard storyboard, SitrineWindow window)
     : base(storyboard, window)
 {
 }
Esempio n. 21
0
 internal MessageEvent(Storyboard storyboard, SitrineWindow window, TextRenderer renderer, Size size)
     : base(storyboard, window)
 {
     this.texture = new MessageTexture(renderer, size);
 }
Esempio n. 22
0
 internal MusicEvent(Storyboard storyboard, SitrineWindow window)
     : base(storyboard, window)
 {
 }
Esempio n. 23
0
 internal MessageEvent(Storyboard storyboard, SitrineWindow window, TextOptions options, Size size)
     : base(storyboard, window)
 {
     this.texture = new MessageTexture(options, size);
 }
Esempio n. 24
0
        /// <summary>
        /// 指定したストーリーを実行する LoopStoryboard クラスのインスタンスを作成します。
        /// </summary>
        /// <param name="window">ストーリーボードが実行されるウィンドウオブジェクト。</param>
        /// <param name="storyevents">ストーリーイベントが記述されたメソッド。</param>
        /// <param name="loopCount">ループの回数。-1 を設定すると無限にループを行います。</param>
        /// <returns>生成されたストーリーボード。</returns>
        public static LoopStoryboard Create(SitrineWindow window, Action<Storyboard> storyevents, int loopCount = -1)
        {
            LoopStoryboard loopstory = new LoopStoryboard(window);
            storyevents(loopstory);
            loopstory.LoopCount = loopCount;
            loopstory.StartLooping();

            return loopstory;
        }
Esempio n. 25
0
 public AnimateStoryboard(SitrineWindow window)
     : base(window)
 {
 }
Esempio n. 26
0
 /// <summary>
 /// ストーリーボードが動作する SitrineWindow オブジェクトを指定して新しい RenderStoryboard クラスのインスタンスを初期化します。
 /// </summary>
 /// <param name="Window">動作対象の SitrineWindow オブジェクト。</param>
 public RenderStoryboard(SitrineWindow window)
     : base(window)
 {
 }