コード例 #1
0
    public static void start()
    {
        queue.Clear();
        subscribers.Clear();

        new Thread(() =>
        {
            Thread.CurrentThread.IsBackground = true;

            while (true)
            {
                if (queue.Count > 0)
                {
                    MonsterMoveEvent eventObj = queue.Dequeue();
                    foreach (Player subscriber in subscribers)
                    {
                        subscriber.monsterMoved((MonsterMoveEvent)eventObj);
                    }
                }
            }
        }).Start();
    }
コード例 #2
0
 public static void publish(MonsterMoveEvent moveEvent)
 {
     queue.Enqueue(moveEvent);
 }
コード例 #3
0
ファイル: Player.cs プロジェクト: MxWang6/Dissertation
 public void monsterMoved(MonsterMoveEvent moveEvent)
 {
     monsterMoveEvents.Add(moveEvent);
 }