Exemplo n.º 1
0
        public XikeonBrClient()
        {
            Debug.WriteLine("XikeonBrClient initialized");

            sync        = new XikeonBrShared.Sync(OnSyncPropertyChange);
            sync.Notify = OnSyncNotify;

            baseEvents = new BaseEvents();
            Tick      += baseEvents.OnTick;
            Tick      += baseEvents.CountDownTick;

            spawnManager = new SpawnManager();
            Tick        += spawnManager.OnTick;
            EventHandlers.Add("getMapDirectives", new Action <CallbackDelegate>(spawnManager.OnGetMapDirectives));

            inventoryManager = new InventoryManager();
            Tick            += inventoryManager.OnTick;

            Tick += OnTick;
            EventHandlers.Add("onClientMapStart", new Action <string>(OnClientMapStart));
            EventHandlers.Add("sendMotd", new Action <string>(ReceivedMotd));
            EventHandlers.Add("playerSpawned", new Action <Player, Object, CallbackDelegate>(OnPlayerSpawned));
            EventHandlers.Add("xbr:showNotification", new Action <string>(Notification.OnNotification));
            EventHandlers.Add("xbr:showNotificationDetails", new Action <string, string, string, string>(Notification.OnNotificationDetails));
            EventHandlers.Add("xbr:showNotificationDetailsPlayer", new Action <ExpandoObject, string, string, string, string>(Notification.OnNotificationDetails));
            EventHandlers.Add("xbr:setTime", new Action <int, int, int>(OnSetTime));
            EventHandlers.Add("xbr:freezePlayer", new Action <int, bool>(OnFreezePlayer));
            EventHandlers.Add("xbr:playerRestart", new Action(OnPlayerRestart));
            EventHandlers.Add("xbr:countdown", new Action <int>(OnCountdown));
            EventHandlers.Add("xbr:sync", new Action <string, string, dynamic>(sync.HandleSyncEvent));
            // EventHandlers.Add("xbr:onPlayerDied", new Action<int, double, double, double>(OnPlayerDied));
        }
Exemplo n.º 2
0
    public static void AddListener <T, U>(EventID eventId, EventFun2 <T, U> listener)
    {
        BaseEvents baseEvents = null;

        if (!Instance.eventDictionary.TryGetValue(eventId, out baseEvents))
        {
            baseEvents = new GenericEvents2 <T, U>();
            Instance.eventDictionary.Add(eventId, baseEvents);
        }
        ((GenericEvents2 <T, U>)baseEvents).eventList.Add(listener);
    }