Example #1
0
        /// <summary>
        /// ウィンドウモードで表示するかどうかを指定して、DxExample.Example.Mario クラスの新しいインスタンスを作成します。
        /// </summary>
        /// <param name="isWindowMode">ウィンドウモードで表示する場合は true。フルスクリーンで表示する場合は false。</param>
        public Game(bool isWindowMode)
        {
            // とりあえず 60 FPS で動かす。
            this.fpsManager = new FPSManager(120);

            // ウィンドウモードかフルスクリーンで起動するかを設定。
            DX.ChangeWindowMode(isWindowMode ? DX.TRUE : DX.FALSE);

            // 画面サイズをとりあえず 1280x800 にする。
            DX.SetWindowSize(1280, 800);

            DX.SetGraphMode(1280, 800, 32);

            // DX ライブラリの初期化。
            if (DX.DxLib_Init() < 0)
            {
                throw new Exception("DX ライブラリの初期化に失敗しました。");
            }

            // ウィンドウサイズを取得する。
            int windowWidth;
            int windowHeight;

            DX.GetWindowSize(out windowWidth, out windowHeight);
            this.windowRect = new DX.RECT {
                top = 0, left = 0, right = windowWidth, bottom = windowHeight
            };

            // 描画先を裏側にする。
            // 裏側で描き終えたら、表面と反転して画面に表示する。
            // (表側に書いてしまうと書いている途中に表示されてしまい、中途半端な状態で描画されてしまうことがある。)
            // 「ダブルバッファリング」で検索。
            DX.SetDrawScreen(DX.DX_SCREEN_BACK);
        }
Example #2
0
 private void Awake()
 {
     if (Instance != null)
     {
         if (Instance != this)
         {
             Destroy(gameObject);
         }
     }
     else
     {
         Instance = this;
         DontDestroyOnLoad(this);
     }
 }
Example #3
0
        protected override void Initialize()
        {
            base.Initialize();

            IsMouseVisible = true;
            Window.Title   = "Cartel Game";

            graphics.PreferredBackBufferWidth  = GraphicsDevice.DisplayMode.Width;
            graphics.PreferredBackBufferHeight = GraphicsDevice.DisplayMode.Height;
            //graphics.IsFullScreen = true;
            graphics.ApplyChanges();

            var control = System.Windows.Forms.Control.FromHandle(Window.Handle);
            var form    = control.FindForm();

            form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            form.WindowState     = System.Windows.Forms.FormWindowState.Maximized;

            world      = new World(100, 100);
            jobManager = new JobManager(world);
            world.SetJobManager(jobManager);
            viewportManager = new ViewportManager(GraphicsDevice.Viewport, world);
            worldRenderer   = new WorldRenderer(world, viewportManager, GraphicsDevice);
            guiManager      = new GUIManager(world, viewportManager, GraphicsDevice);
            fpsManager      = new FPSManager();

            guiManager.AddTask("Build Walls", InputTask.BlueprintFactory(InputMode.Line, cell => new Wall(cell)));
            guiManager.AddTask("Build Floors", InputTask.BlueprintFactory(InputMode.Area, cell => new Floor(cell, FloorType.Concrete)));
            guiManager.AddTask("Build Light", InputTask.BlueprintFactory(InputMode.Single, cell => new Light(cell)));
            guiManager.AddTask("Spawn Worker", InputTask.PawnFactory(PawnType.Worker));
            guiManager.AddTask("Spawn Gardener", InputTask.PawnFactory(PawnType.Gardener));
            guiManager.AddTask("Add Concrete", InputTask.SoftObjectFactory(SoftObjectType.Concrete, 45));
            guiManager.AddTask("Create GrowZone", InputTask.ZoneFactory(() => {
                return(new GrowZone(PlantType.Indica));
            }));
            ObjectInfo benchInfo = new ObjectInfo(ObjectType.Bench, new Point(2, 1));

            guiManager.AddTask("Create HardObject", InputTask.BlueprintFactory(InputMode.Single, cell => new HardObject(benchInfo, cell)));
            guiManager.AddTask("Bulldoze", InputTask.BulldozeFactory());
        }
    public override void Execute(GameObject instigator = null)
    {
        GraphicOption    go   = GameOption.Get <GraphicOption>();
        SpaceshipOptions o    = GameOption.Get <SpaceshipOptions>();
        float            p    = o.screenPercentage / 100f;
        float            mPix = (go.width * p * go.height * p) / 1000000;
        string           sp   = o.screenPercentage == 100 ? $"Native" : $"{o.screenPercentage}% SP ({o.upsamplingMethod.ToString()})";

        FPSManager fpsm = Manager.Get <FPSManager>();

        QualityText.text          = $"{go.width}x{go.height}@{go.refreshRate}Hz ({go.fullScreenMode}) {sp} ({mPix.ToString("F2", System.Globalization.CultureInfo.InvariantCulture)} MPix) - {QualitySettings.names[QualitySettings.GetQualityLevel()]} Quality";
        OverallFPSText.text       = (1000 / fpsm.results.avgMs).ToString("F1", System.Globalization.CultureInfo.InvariantCulture);
        OverallMSText.text        = fpsm.results.avgMs.ToString("F2", System.Globalization.CultureInfo.InvariantCulture);
        OverallMSPerMPixText.text = (fpsm.results.avgMs / mPix).ToString("F2", System.Globalization.CultureInfo.InvariantCulture);
        WorstFPSText.text         = (1000 / fpsm.results.maxMs).ToString("F1", System.Globalization.CultureInfo.InvariantCulture);
        WorstMSText.text          = fpsm.results.maxMs.ToString("F2", System.Globalization.CultureInfo.InvariantCulture);
        BestFPSText.text          = (1000 / fpsm.results.minMs).ToString("F1", System.Globalization.CultureInfo.InvariantCulture);
        BestMSText.text           = fpsm.results.minMs.ToString("F2", System.Globalization.CultureInfo.InvariantCulture);
        CPUInfo.text = $"{SystemInfo.processorType} ({SystemInfo.processorCount} threads) @ { (SystemInfo.processorFrequency/1000f).ToString("F2", System.Globalization.CultureInfo.InvariantCulture)} GHz. ";
        RAMInfo.text = $"System Memory : { SystemInfo.systemMemorySize / 1000}GB";
        GPUInfo.text = $"{ SystemInfo.graphicsDeviceName} ({ SystemInfo.graphicsDeviceType}) { SystemInfo.graphicsMemorySize / 1000}GB VRAM";
    }
Example #5
0
 void Awake()
 {
     Instance = this;
 }
Example #6
0
        private void InitDebugWindow()
        {
            RectTransform debugRectTransform = GameCloneUtils.CloneNewObjectWithParent(GameManager.FindStaticPrefabs("UIDebugWindow"), GameManager.UIManager.UIRoot.transform).GetComponent <RectTransform>();

            debugWindow             = GameManager.UIManager.CreateWindow("Debug console window", debugRectTransform);
            UIDebugToolBar          = GameCloneUtils.CloneNewObjectWithParent(GameManager.FindStaticPrefabs("UIDebugToolBar"), GameManager.UIManager.UIRoot.transform, "GameUIDebugToolBar");
            debugWindow.CloseAsHide = true;
            debugWindow.SetSize(450, 330);
            debugWindow.SetMinSize(420, 270);
            debugWindow.MoveToCenter();
            debugWindow.Hide();

            ico_warning2_big       = GameManager.FindStaticAssets <Sprite>("ico_warning2_big");
            ico_warning_big        = GameManager.FindStaticAssets <Sprite>("ico_warning_big");
            ico_info_big           = GameManager.FindStaticAssets <Sprite>("ico_info_big");
            ico_error_big          = GameManager.FindStaticAssets <Sprite>("ico_error_big");
            ico_success_big        = GameManager.FindStaticAssets <Sprite>("ico_success_big");
            ico_warning            = GameManager.FindStaticAssets <Sprite>("ico_warning");
            ico_info               = GameManager.FindStaticAssets <Sprite>("ico_info");
            ico_error              = GameManager.FindStaticAssets <Sprite>("ico_error");
            ico_success            = GameManager.FindStaticAssets <Sprite>("ico_success");
            box_round_light        = GameManager.FindStaticAssets <Sprite>("box_round_grey");
            background_transparent = GameManager.FindStaticAssets <Sprite>("background_transparent");

            GameManager.UIManager.RegisterWindow(debugWindow);

            UIDebugToolBar.SetActive(true);
            DebugTextFPS       = UIDebugToolBar.transform.Find("DebugTextFPS").GetComponent <Text>();
            DebugTextErrors    = debugRectTransform.transform.Find("DebugToolErrors/Text").GetComponent <Text>();
            DebugTextWarnings  = debugRectTransform.transform.Find("DebugToolWarnings/Text").GetComponent <Text>();
            DebugTextInfos     = debugRectTransform.transform.Find("DebugToolInfos/Text").GetComponent <Text>();
            DebugCmdContent    = debugRectTransform.transform.Find("DebugCmdScrollView/Viewport/DebugCmdContent").GetComponent <RectTransform>();
            DebugInputCommand  = debugRectTransform.transform.Find("DebugInputCommand").GetComponent <InputField>();
            DebugToggleInfo    = debugRectTransform.transform.Find("DebugToggleInfo").GetComponent <Toggle>();
            DebugToggleWarning = debugRectTransform.transform.Find("DebugToggleWarning").GetComponent <Toggle>();
            DebugToggleError   = debugRectTransform.transform.Find("DebugToggleError").GetComponent <Toggle>();
            DebugItemContent   = debugRectTransform.transform.Find("DebugDetailsScrollView/Viewport/DebugItemContent").GetComponent <Text>();
            Toggle DebugToggleStackTrace = debugRectTransform.transform.Find("DebugToggleStackTrace").GetComponent <Toggle>();

            DebugCmdScrollView           = debugRectTransform.transform.Find("DebugCmdScrollView").GetComponent <RectTransform>();
            DebugCmdScrollViewScrollRect = DebugCmdScrollView.GetComponent <ScrollRect>();
            DebugDetailsScrollView       = debugRectTransform.transform.Find("DebugDetailsScrollView").GetComponent <RectTransform>();
            DebugToolsItem     = UIDebugToolBar.transform.Find("DebugToolsItem").gameObject;
            DebugToolsItemHost = UIDebugToolBar.transform.Find("DebugToolsItem/Viewport/DebugToolsItemHost").GetComponent <RectTransform>();

            UIDebugTextItem = GameManager.FindStaticPrefabs("UIDebugTextItem");

            fPSManager         = GameCloneUtils.CreateEmptyObjectWithParent(GameManager.GameRoot.transform, "FPSManager").AddComponent <FPSManager>();
            fPSManager.FpsText = DebugTextFPS;

            EventTriggerListener.Get(UIDebugToolBar.transform.Find("DebugToolCmd").gameObject).onClick = (g) => {
                if (debugWindow.GetVisible())
                {
                    debugWindow.Hide();
                }
                else
                {
                    debugWindow.Show();
                    ForceReloadLogList();
                }
            };
            EventTriggerListener.Get(UIDebugToolBar.transform.Find("DebugTools").gameObject).onClick = (g) => { DebugToolsItem.SetActive(!DebugToolsItem.activeSelf); };

            EventTriggerListener.Get(debugRectTransform.transform.Find("DebugButtonRun").gameObject).onClick = (g) =>
            {
                if (RunCommand(DebugInputCommand.text))
                {
                    DebugInputCommand.text = "";
                }
            };
            EventTriggerListener.Get(debugRectTransform.transform.Find("DebugButtonClear").gameObject).onClick = (g) => { ClearLogs(); };

            DebugInputCommand.onEndEdit.AddListener((s) =>
            {
                ClearCurrentActiveLogItem();
                if (RunCommand(s))
                {
                    DebugInputCommand.text = "";
                }
            });
            DebugToggleError.onValueChanged.AddListener((b) =>
            {
                SetShowLogTypes(GameLogger.LogType.Error, b);
                SetShowLogTypes(GameLogger.LogType.Assert, b);
                ForceReloadLogList();
            });
            DebugToggleWarning.onValueChanged.AddListener((b) =>
            {
                SetShowLogTypes(GameLogger.LogType.Warning, b);
                ForceReloadLogList();
            });
            DebugToggleInfo.onValueChanged.AddListener((b) =>
            {
                SetShowLogTypes(GameLogger.LogType.Text, b);
                SetShowLogTypes(GameLogger.LogType.Info, b);
                ForceReloadLogList();
            });
            DebugToggleStackTrace.onValueChanged.AddListener((b) =>
            {
                DebugDetailsScrollView.gameObject.SetActive(b);
                if (!b)
                {
                    UIAnchorPosUtils.SetUILeftBottom(DebugCmdScrollView, UIAnchorPosUtils.GetUILeft(DebugCmdScrollView), 30);
                }
                else
                {
                    UIAnchorPosUtils.SetUILeftBottom(DebugCmdScrollView, UIAnchorPosUtils.GetUILeft(DebugCmdScrollView), 100);
                }
            });

            GameLogger.RegisterLogCallback(HandleLog);
            ForceReloadLogList();
        }
Example #7
0
 void Start()
 {
     fPSManager = gameObject.AddComponent <FPSManager>();
 }
        public override void Load()
        {
            ActiveProfile = new PlayerProfile("null");
            MathUtil.Init((float)DefaultSettings.Settings["PixelsPerMeter"]);
            size = ((Vector2)(Size)Utilities.DefaultSettings.Settings["WindowSize"]) / MathUtil.PixelsPerMeter;

            PhysicsManager = new PhysicsEngine();
            UIManager = new UIEngine();
            GraphicsManager = new GraphicsEngine();
            gameLoopFPS = new FPSManager();

            font = (SpriteFont)ContentRepository.Content["Text"];
            //circ = (Texture2D)ContentRepository.Content["Circle"];

            GraphicsEngine.Load();

            InitPhysicsEngine();
            InitUI();
        }
Example #9
0
        public void OnGUI()
        {
            GUI.Label(new Rect(20, 20, 200, 200), "BattleBeet");


            if (Event.current.type == EventType.repaint)
            {
                try
                {
                    foreach (PlayerNetwork client in RoomManager.OtherPlayers)
                    {
                        if (client == RoomManager.LocalPlayer)
                        {
                            continue;
                        }

                        Vector3 pos = mainCamera.WorldToScreenPoint(client.transform.position);
                        pos.y = Screen.height - pos.y;
                        if (pos.z > 0)
                        {
                            bool hit = Physics.Linecast(RoomManager.LocalPlayer.transform.position, client.transform.position, out RaycastHit rhit, -1 | 15);
                            if (client.Player.PlayersTeam == RoomManager.LocalPlayer.Player.PlayersTeam)
                            {
                                if (hit)
                                {
                                    GUI.Label(new Rect(pos.x, pos.y, 200, 200), "<size=12><color=#0000ffff>" + client.Player.Name + "\nHealth: " + client.Health + "\nDistance: " + Mathf.RoundToInt(Utils.GetDistance(client.transform)) + "\nHit: " + rhit.collider.gameObject.layer + "</color></size>");
                                }
                                else
                                {
                                    GUI.Label(new Rect(pos.x, pos.y, 200, 200), "<size=12><color=#0000ffff>" + client.Player.Name + "\nHealth: " + client.Health + "\nDistance: " + Mathf.RoundToInt(Utils.GetDistance(client.transform)) + "</color></size>");
                                }
                            }
                            else
                            {
                                if (hit)
                                {
                                    GUI.Label(new Rect(pos.x, pos.y, 200, 200), "<size=12><color=#ff0000ff>" + client.Player.Name + "\nHealth: " + client.Health + "\nDistance: " + Mathf.RoundToInt(Utils.GetDistance(client.transform)) + "\nHit: " + rhit.collider.gameObject.layer + "</color></size>");
                                }
                                else
                                {
                                    GUI.Label(new Rect(pos.x, pos.y, 200, 200), "<size=12><color=#ff0000ff>" + client.Player.Name + "\nHealth: " + client.Health + "\nDistance: " + Mathf.RoundToInt(Utils.GetDistance(client.transform)) + "</color></size>");
                                }
                            }
                        }
                    }
                }
                catch (Exception e) { Debug.LogException(e); }

                try
                {
                    if (RoomManager.LocalPlayer != null)
                    {
                        FPSManager fps = RoomManager.LocalPlayer.FPManager;
                        fps.RecoilEffect      = 0;
                        fps.RecoilFixSpeed    = 0;
                        fps.MaxSway           = 0;
                        fps.MaxVerticalRecoil = 0;
                        fps.CharacterMotor.movement.maxForwardSpeed   = 3f * movementspeed;
                        fps.CharacterMotor.movement.maxSidewaysSpeed  = 2f * movementspeed;
                        fps.CharacterMotor.movement.maxBackwardsSpeed = 2f * movementspeed;
                        fps.CharacterMotor.movement.gravity           = gravity;
                        fps.CharacterMotor.movement.maxFallSpeed      = fallspeed;
                        fps.CharacterMotor.jumping.baseHeight         = jumpheight;
                        GUI.Label(new Rect(220, 80, 200, 200), "HP: " + RoomManager.LocalPlayer.Health);
                        GUI.Label(new Rect(220, 100, 200, 200), "X " + fps.MouseLook.X_Value + " | Y " + fps.MouseLook.Y_Value);
                        try
                        {
                            fps.RadialBlur.enabled          = false;
                            fps.BloodScreen.enabled         = false;
                            fps.BloodScreenVignette.enabled = false;
                            fps.MenuStop.enabled            = false;
                        }
                        catch (Exception e) { Debug.LogException(e); }
                        //fps.Breath.Stamina = 100f;
                        Debug.LogError("test1");
                        Transform sway = fps.WeaponSway;
                        if (sway != null)
                        {
                            Debug.LogError("test12");
                            GUI.Label(new Rect(20, 80, 200, 200), "Sway isnt null!");
                            sway.localEulerAngles = new Vector3(0, 0, 0);
                        }
                        else
                        {
                            Debug.LogError("test13");
                            GUI.Label(new Rect(20, 80, 200, 200), "Sway is null!");
                        }

                        Debug.LogError("test14");
                        BetterReflect.SetPrivateFieldValue(fps, "stamina", 100f);
                        BetterReflect.SetPrivateFieldValue(fps, "staminaRecoilEffect", 0f);
                    }
                }
                catch (Exception e) { Debug.LogException(e); }
            }

            try {
                if (WeaponManager.Instace != null)
                {
                    GUI.Label(new Rect(20, 40, 200, 200), "WM isnt null!");

                    try
                    {
                        WeaponMagazineStore wms = BetterReflect.GetPrivateFieldValue <WeaponMagazineStore>(WeaponManager.Instace, "mag");
                        if (wms != null)
                        {
                            RaundMagazine curmag = BetterReflect.GetPrivateFieldValue <RaundMagazine>(wms, "currentClip");
                            if (curmag != null)
                            {
                                int ammo = curmag.BulletCount;
                                GUI.Label(new Rect(220, 60, 200, 200), "Ammo: " + ammo);
                                try
                                {
                                    ObscuredInt bullets = BetterReflect.GetPrivateFieldValue <ObscuredInt>(curmag, "bulletCount");
                                    bullets = curmag.MaxBulletCount;
                                    BetterReflect.SetPrivateFieldValue <ObscuredInt>(curmag, "bulletCount", bullets);
                                }
                                catch (Exception e) { Debug.LogException(e); }
                            }
                        }
                    }
                    catch (Exception e) { Debug.LogException(e); }
                }
                else
                {
                    GUI.Label(new Rect(20, 40, 200, 200), "WM is null!");
                }
            }
            catch (Exception e) { Debug.LogException(e); }

            if (IsInMenu)
            {
                try
                {
                    WindowRect = GUI.Window(0, WindowRect, MainWindow, "BattleBeet");
                }
                catch (Exception e) { Debug.LogException(e); }
            }
        }