コード例 #1
0
ファイル: Story.cs プロジェクト: danzhu/JoyfulColours
 /// <summary>
 /// Convenient method for linking the events of this <see cref="Story"/> to another
 /// <see cref="Procedure"/>. Also optionally add event handlers to
 /// <see cref="Procedure.Started"/> and <see cref="Procedure.Completed"/>.
 /// </summary>
 /// <param name="pro">The <see cref="Procedure"/> to link to.</param>
 /// <param name="started">Event handler for <see cref="Procedure.Started"/>.</param>
 /// <param name="completed">
 /// Event handler for <see cref="Procedure.Completed"/>.
 /// </param>
 public void Link(Procedure pro, LogicEventHandler started = null,
     LogicEventHandler completed = null)
 {
     Event.Register(this, Started, (sender, e) => pro.Start());
     Event.Register(this, Skipped, (sender, e) => pro.Skip());
     Event.Register(this, Stopping, (sender, e) => pro.Stop());
     Event.Register(pro, Completed, (sender, e) => Complete());
     if (started != null)
         Event.Register(this, Started, started);
     if (completed != null)
         Event.Register(this, Completed, completed);
 }
コード例 #2
0
ファイル: Loop.cs プロジェクト: danzhu/JoyfulColours
 public Loop(Procedure pro)
 {
     Procedure = pro;
 }
コード例 #3
0
ファイル: Control.cs プロジェクト: danzhu/JoyfulColours
 public void RegisterKey(string key, Procedure pro)
 {
     Key k;
     Enum.TryParse(key, out k);
     Keys.Add(k, pro);
 }
コード例 #4
0
ファイル: Judgement.cs プロジェクト: danzhu/JoyfulColours
 public Judgement(Func<bool> cond, Procedure proTrue, Procedure proFalse = null)
 {
     Condition = cond;
     True = proTrue;
     False = proFalse;
 }