示例#1
0
 private void NotifyDungeonEvent(DungeonEvent dungeonEvent)
 {
     if (dungeonEventDelegateEvent != null)
     {
         dungeonEventDelegateEvent(dungeonEvent);
     }
 }
示例#2
0
 public void ReportDungeonEvent(DungeonEvent dungeonEvent)
 {
     if (dungeonListener != null)
     {
         dungeonListener.OnDungeonEvent(dungeonEvent);
     }
 }
    public DungeonEvent DequeueEvent()
    {
        if (queue.Count == 0)
        {
            return(null);
        }

        DungeonEvent dungeonEvent = queue[0];

        queue.RemoveAt(0);

        return(dungeonEvent);
    }
    public DungeonEventHandlerUnity CreateEventHandler(DungeonUnity dungeon, DungeonEvent dungeonEvent)
    {
        switch (dungeonEvent.type)
        {
        case DungeonEventType.EntityMoved:
            return(new DungeonEventHandlerEntityMoved(dungeon, (DungeonEventEntityMoved)dungeonEvent));

        case DungeonEventType.EntityRotated:
            return(new DungeonEventHandlerEntityRotated(dungeon, (DungeonEventEntityRotated)dungeonEvent));
        }

        return(null);
    }
示例#5
0
    private void UpdateEventsQueue()
    {
        if (currentDungeonEventHandler == null)
        {
            if (!dungeonEventsQueue.IsEmpty)
            {
                DungeonEvent dungeonEvent = dungeonEventsQueue.DequeueEvent();

                currentDungeonEventHandler = eventHandlerFactory.CreateEventHandler(this, dungeonEvent);
            }
        }

        if (currentDungeonEventHandler != null)
        {
            if (currentDungeonEventHandler.Update())
            {
                currentDungeonEventHandler = null;
            }
        }
    }
 public void EnqueueEvent(DungeonEvent dungeonEvent)
 {
     queue.Add(dungeonEvent);
 }
示例#7
0
 public void AddEvent(DungeonEvent dungeonEvent)
 {
     addEvents.Add(dungeonEvent);
 }
示例#8
0
 public void RemoveEvent(DungeonEvent dungeonEvent)
 {
     deleteEvents.Add(dungeonEvent);
 }
示例#9
0
 public void OnDungeonEvent(DungeonEvent dungeonEvent)
 {
     dungeonEventsQueue.EnqueueEvent(dungeonEvent);
 }