/// <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); }
private void Awake() { if (Instance != null) { if (Instance != this) { Destroy(gameObject); } } else { Instance = this; DontDestroyOnLoad(this); } }
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"; }
void Awake() { Instance = this; }
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(); }
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(); }
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); } } }