Exemplo n.º 1
0
        public static MapleEvent GetEventById(int id)
        {
            MapleEvent ret = null;

            Events.TryGetValue(id, out ret);
            return(ret);
        }
Exemplo n.º 2
0
 public EventEngine(MapleCharacter starter, string script, int recreateMap = -1, bool skipSpawn = false)
 {
     Starter   = starter;
     ChannelId = Starter.Client.Channel;
     if (!(DataBuffer.EventScripts.TryGetValue(script, out EventType) && EventType != null))
     {
         return;
     }
     EventInstance = ScriptActivator.CreateScriptInstance(EventType, script, starter) as EventScript;
     if (EventInstance == null)
     {
         string error = string.Format("Error loading {0} {1}", "EventScript", script);
         ServerConsole.Error(error);
         FileLogging.Log("Event scripts", error);
         return;
     }
     RecreatedMap                     = recreateMap != -1;
     EventInstance.OnFinish          += new Action(FinishEvent);
     EventInstance.OnSpawnMobs       += new Action <int, int, int, int>(SpawnMobs);
     EventInstance.OnRandomSpawnMobs += new Action <int, int, Point, Point>(RandomSpawnMobs);
     if (RecreatedMap)
     {
         EventMap = new MapleEvent(recreateMap, DataBuffer.GetMapById(recreateMap), skipSpawn);
         EventId  = Program.RegisterEvent(EventMap);
         if (Starter != null)
         {
             AddCharacter(Starter);
         }
     }
 }
Exemplo n.º 3
0
        public static int RegisterEvent(MapleEvent Event)
        {
            int eventId = EventId.Get;

            Events.Add(eventId, Event);
            return(eventId);
        }
Exemplo n.º 4
0
 private void FinishEvent()
 {
     Program.UnregisterEvent(EventId);
     EventInstance = null;
     EventMap      = null;
 }