コード例 #1
0
ファイル: TownControls.cs プロジェクト: abosma/CityBuilder
 private void InputHandler_MouseLeftDown(object sender, EventArgs e)
 {
     if (_collider.IsMouseOver)
     {
         GlobalConsole.WriteLine($"Clicked on Town: {Entity.Name}");
     }
 }
コード例 #2
0
        private static void GameLoop()
        {
            var Window = WindowHandler.Initialize();
            var GUI    = GUIHandler.Initialize();
            var Clock  = new Clock();

            new BasicScene();

            while (Window.IsOpen)
            {
                Window.DispatchEvents();
                Window.Clear();

                WorldCollision.CheckCollision();
                World.UpdateEntities();
                GlobalConsole.DrawConsole();
                DrawableHandler.Draw();
                InputHandler.UpdateInputs();

                GUI.Draw();
                Window.Display();

                var DeltaClock = Clock.Restart();
                deltaTime = DeltaClock.AsSeconds();
            }
        }
コード例 #3
0
 public void PrintTileList()
 {
     for (var x = 0; x < MapSize; x++)
     {
         for (var y = 0; y < MapSize; y++)
         {
             GlobalConsole.WriteLine(_tiles[x, y].ToString());
         }
     }
 }
コード例 #4
0
ファイル: Collider.cs プロジェクト: abosma/CityBuilder
        private bool IsCollidingWithEntity(Entity entity)
        {
            var Transform = Entity.Transform;

            try
            {
                var ExternalEntityTransform = entity.GetComponent <Transform>();
                var ExternalEntityCollider  = entity.GetComponent <Collider>();

                return(Transform.Position.X < ExternalEntityTransform.Position.X + ExternalEntityCollider.Width &&
                       Transform.Position.X + Width > ExternalEntityTransform.Position.X &&
                       Transform.Position.Y < ExternalEntityTransform.Position.Y + ExternalEntityCollider.Height &&
                       Transform.Position.Y + Height > ExternalEntityTransform.Position.Y);
            }
            catch (Exception e)
            {
                GlobalConsole.WriteLine(e.Message);
            }

            return(false);
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: FarisFreak/PointBlankGSP
        public static void Main(string[] args)
        {
            Config.load();
            Console.Title = "PointBlank Server Auth";
            CLogger.getInstance().form();
            GlobalConsole.Load();
            GlobalTable.Load();
            GlobalDate.Load();
            GlobalNetwork.Load();
            while (true)
            {
                Thread.Sleep(200);
                Console.Write("> ");
                try
                {
                    string command = Console.ReadLine();
                    switch (command)
                    {
                    case "stop":
                    case "close":
                    case "exit":
                    {
                        CLogger.getInstance().write(command);
                        CLogger.getInstance().red("END OF LOG");
                        Thread.Sleep(200);
                        Process.GetCurrentProcess().CloseMainWindow();
                        break;
                    }

                    case "reload shop":
                    {
                        CLogger.getInstance().write(command);
                        CLogger.getInstance().debug("[Reload] ShopManager");
                        ShopInfoManager.getInstance();
                        Console.ResetColor();
                        break;
                    }

                    case "clear":
                    {
                        Console.Clear();
                        break;
                    }

                    case "help":
                    {
                        CLogger.getInstance().write(command);
                        CLogger.getInstance().cyan("Help Command: ");
                        CLogger.getInstance().debug("* stop / close / exit - Close Server.");
                        CLogger.getInstance().debug("* reload shop         - Reload Shop.");
                        CLogger.getInstance().debug("* clear               - Clear Console");
                        CLogger.getInstance().debug("* restart             - Restart Server.");
                        Console.ResetColor();
                        break;
                    }

                    case "restart":
                    {
                        var location = Assembly.GetExecutingAssembly().Location;
                        Process.Start(location);
                        Environment.Exit(0);
                        break;
                    }

                    default:
                    {
                        CLogger.getInstance().write(command);
                        CLogger.getInstance().warning("Invalid command!");
                        break;
                    }
                    }
                }
                catch
                {
                }
            }
        }
コード例 #6
0
        // Protected Methods (2) 

        /// <summary>
        ///
        /// </summary>
        /// <see cref="ServiceBase.OnStart(string[])" />
        protected override void OnStart(string[] args)
        {
            var      asmDir     = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            TimeSpan?startDelay = null;

            var workDir = asmDir;

            foreach (var a in args)
            {
                if (a.ToLower().Trim().StartsWith("/rootdir:"))
                {
                    // custom root/working directory
                    var dir = new DirectoryInfo(a.Substring(a.IndexOf(':') + 1)
                                                .TrimStart()).FullName;

                    if (Path.IsPathRooted(dir))
                    {
                        workDir = new DirectoryInfo(dir).CreateDirectoryDeep().FullName;
                    }
                    else
                    {
                        workDir = new DirectoryInfo(Path.Combine(asmDir,
                                                                 dir)).CreateDirectoryDeep().FullName;
                    }
                }
                else if (a.ToLower().Trim().StartsWith("/startdelay:"))
                {
                    var seconds = a.Substring(a.IndexOf(':') + 1)
                                  .Trim();
                    if (seconds == string.Empty)
                    {
                        seconds = "15";
                    }

                    startDelay = TimeSpan.FromSeconds(double.Parse(seconds,
                                                                   CultureInfo.InvariantCulture));
                }
            }

            if (startDelay.HasValue)
            {
                Thread.Sleep(startDelay.Value);
            }

            this.EventLog
            .WriteEntry(string.Format("Root directory is: {0}",
                                      workDir),
                        EventLogEntryType.Information);

            this.LogDirectory = new DirectoryInfo(Path.Combine(workDir,
                                                               "logs")).CreateDirectoryDeep()
                                .FullName;

            this.EventLog
            .WriteEntry(string.Format("Log directory is: {0}",
                                      this.LogDirectory),
                        EventLogEntryType.Information);

            GlobalConsole.SetConsole(new ServiceConsole(this));

            var loggerFuncs = new DelegateLogger();

            loggerFuncs.Add(this.WriteEventLogMessage);

            var logger = new AggregateLogger();

            logger.Add(new AsyncLogger(loggerFuncs));

            var server = new ApplicationServer();

            try
            {
                if (!server.IsInitialized)
                {
                    var srvCtx = new SimpleAppServerContext(server);

                    var initCtx = new SimpleAppServerInitContext();
                    initCtx.Arguments        = args;
                    initCtx.Logger           = logger;
                    initCtx.ServerContext    = srvCtx;
                    initCtx.WorkingDirectory = workDir;

                    try
                    {
                        server.Initialize(initCtx);

                        this.EventLog
                        .WriteEntry("Server has been initialized.",
                                    EventLogEntryType.Information);
                    }
                    catch (Exception ex)
                    {
                        this.EventLog
                        .WriteEntry(string.Format("Server could not be initialized!{0}{0}{1}",
                                                  Environment.NewLine,
                                                  ex.GetBaseException() ?? ex),
                                    EventLogEntryType.Error);

                        throw;
                    }

                    srvCtx.InnerServiceLocator = server.GlobalServiceLocator;
                }

                try
                {
                    server.Start();

                    this.EventLog
                    .WriteEntry("Server has been started.",
                                EventLogEntryType.Information);
                }
                catch (Exception ex)
                {
                    this.EventLog
                    .WriteEntry(string.Format("Server could not be started!{0}{0}{1}",
                                              Environment.NewLine,
                                              ex.GetBaseException() ?? ex),
                                EventLogEntryType.Error);

                    throw;
                }

                this.Server = server;
            }
            catch
            {
                server.Dispose();

                throw;
            }
        }