コード例 #1
0
        /// <summary>
        /// Creates a HandlerId instance for each script found inside the directory.
        /// </summary>
        /// <param name="directoryInfo">Script directory</param>
        /// <param name="server">Intance of EzServer</param>
        public List <IHandler> LoadHandlers(DirectoryInfo directoryInfo, EzServer server)
        {
            List <IHandler> handlers = new List <IHandler>();
            List <FileInfo> scripts  = Utils.GetFiles(directoryInfo, new[] { ".cs" });

            foreach (FileInfo script in scripts)
            {
                string code = Utils.ReadFileText(script.FullName);
                if (code != null)
                {
                    ScriptTask scriptTask = _engine.CreateTask(script.FullName, code, server);
                    IHandler   handler    = scriptTask.CreateInstance <IHandler>();
                    if (handler != null)
                    {
                        handlers.Add(handler);
                    }
                    else if (scriptTask.Diagnostics != null && scriptTask.Diagnostics.Count > 0)
                    {
                        foreach (Diagnostic diagnostic in scriptTask.Diagnostics)
                        {
                            _logger.Error("{0}: {1}", scriptTask.Name, diagnostic);
                        }
                    }
                    else
                    {
                        _logger.Error("Failed to load script ({0})", scriptTask.Name);
                    }
                }
            }

            return(handlers);
        }
コード例 #2
0
ファイル: Game.cs プロジェクト: DuckMonster/Time-Dash-Re
    public Game()
    {
        currentGame = this;

        Log.Init();

        server = new EzServer(portTCP, portUDP);

        server.OnConnect         += OnConnect;
        server.OnDisconnect      += OnDisconnect;
        server.OnStart           += OnStart;
        server.OnMessage         += OnMessage;
        server.OnMessageExternal += OnMessageExternal;

        if (hostIP == null)
        {
            server.StartUp();
        }
        else
        {
            server.StartUp(hostIP);
        }

        server.OnDebug     += OnDebug;
        server.OnException += OnException;

        trackerHandler = new TrackerHandler(this);

        LoadMap("factory_sy");
    }
コード例 #3
0
 public SinglePlay(EzServer server) : base(server)
 {
 }
コード例 #4
0
 private static void PrintVersion()
 {
     Console.WriteLine("Command Line Ver.: {0}", GetVersion());
     Console.WriteLine("EzServer Ver.: {0}", EzServer.GetVersion());
 }
コード例 #5
0
ファイル: Enter.cs プロジェクト: Leofravega/Arrowgene.Ez2Off
 public Enter(EzServer server) : base(server)
 {
 }
コード例 #6
0
 public StartGame(EzServer server) : base(server)
 {
 }
コード例 #7
0
ファイル: Login.cs プロジェクト: Leofravega/Arrowgene.Ez2Off
 public Login(EzServer server) : base(server)
 {
 }
コード例 #8
0
 public EzHandler(EzServer server)
 {
     _server = server;
     _logger = LogProvider <EzLogger> .GetLogger(this);
 }
コード例 #9
0
 public SelectMode(EzServer server) : base(server)
 {
     _loginServer = (LoginServer)server;
 }
コード例 #10
0
 public BackButton(EzServer server) : base(server)
 {
 }
コード例 #11
0
 public CreateCharacter(EzServer server) : base(server)
 {
 }
コード例 #12
0
ファイル: Game.cs プロジェクト: DuckMonster/Time-Dash-Re
 public void Dispose()
 {
     Log.ShutDown();
     server.Close();
     server = null;
 }