public static bool InsertScreen_UserPermission(ScreenInfo objScreenInfo) { ISalesPOSDBManager dbManager = new SalesPOSDBManager(); Boolean chk = false; try { dbManager.Open(); IDbDataParameter[] param = SalesPOSDBManagerFactory.GetParameters(dbManager.ProviderType, 3); //param[0] = dbManager.getparam("@ScreenCode", objScreenInfo.ScreenCode.ToString()); param[0] = dbManager.getparam("@UserInfoId", objScreenInfo.UserInfoId.ToString()); param[1] = dbManager.getparam("@ScreenID", objScreenInfo.ScreenCode.ToString()); param[2] = dbManager.getparam("@MenuID", objScreenInfo.MenuCode.ToString()); IDbCommand cmd = dbManager.getCommand(CommandType.StoredProcedure, "Insert_UserMenuConfigure", param); chk = dbManager.ExecuteQuery(cmd); } catch (Exception ex) { MessageBox.Show(ex.ToString()); return(false); } finally { dbManager.Dispose(); } return(chk); }
private void ResetSelection(ScreenInfo screenInfo) { if (Items != null && !Items.Contains(screenInfo)) { SelectedItem = null; } }
private UIControlBase PopScreenAbove(string screeNname) { UIControlBase uIControlBase = null; string text = ""; while (m_ScreenStack.Count != 0) { ScreenInfo screenInfo = m_ScreenStack.Peek(); uIControlBase = screenInfo.screenController; text = uIControlBase.ScreenName; if (text == screeNname) { uIControlBase.OnPoppedToTop(text); if (screenInfo.showDarkBG) { ShowDarkMask(screenInfo); } else { HideDarkMask(); } return(uIControlBase); } PopScreen(); } return(null); }
void Awake() { screenInfo = FindObjectOfType <ScreenInfo>(); worldGrid = FindObjectOfType <Grid>(); grids = worldGrid.GetComponentsInChildren <Tilemap>(); groundGrid = grids[0]; }
private ScreenInfo ScrollToBottom() { ScreenInfo screenInfo = null; Widget lastScreenItem = null; while (true) { screenInfo = _controlPanel.GetScreenInfo(); if (!screenInfo.Widgets.Any(w => w.HasAction(WidgetAction.ScrollNext))) { // No ScrollNext, we're at the bottom, or there's no docs break; } Widget bottomItem = screenInfo.Widgets.Where(w => w.Values.Keys.Contains("index")).LastOrDefault(); // In the case where there are 3 or less items in the list, the "ScrollNext" WidgetAction is present, even though there is no scrollbar on the screen. // So, we have to scrollNext, then compare the Ids of the last widgets on the screen. If they are the same, we have hit the bottom. If not, we keep // scrolling. if (bottomItem != null && (lastScreenItem == null || lastScreenItem.Id != bottomItem.Id)) { _controlPanel.PerformAction(WidgetAction.ScrollNext, "vertical_item_list"); lastScreenItem = bottomItem; } else { // We're at the bottom break; } } return(screenInfo); }
public ProfileMessage GetProfile(string fileImage, ScreenInfo screenSize) { try { var infoRect = DetectTemplate(fileImage, $@".\ImageData\{screenSize.Name}\template\profile_info_pattern_template.png").First(); var iconAddFriendPositions = DetectTemplate(fileImage, $@".\ImageData\{screenSize.Name}\template\add_friend_pattern_template.png"); var bitmap = new Bitmap(fileImage); var rowHeight = screenSize.ProfileInfoRowHeight; var startX = infoRect.Right; var sizeWidth = screenSize.WorkingRect.Right - startX - 20; var profile = new ProfileMessage() { IsAddedToFriend = !iconAddFriendPositions.Any() }; var textProfile = GetVietnameseText(bitmap.Clone(new Rectangle(startX, infoRect.Y, sizeWidth, rowHeight * 4), bitmap.PixelFormat)); var infoTexts = textProfile.Split("\r\n".ToArray()).Where(x => !string.IsNullOrWhiteSpace(x)).ToArray(); profile.Name = infoTexts.ElementAtOrDefault(0)?.Trim(); profile.BirthdayText = infoTexts.ElementAtOrDefault(1)?.Trim(); profile.Gender = infoTexts.ElementAtOrDefault(2)?.Trim(); profile.PhoneNumber = infoTexts.ElementAtOrDefault(3)?.Trim(); return(profile); } catch (Exception ex) { return(new ProfileMessage()); } }
public static ScreenInfo ProcessMonitorAttribute(FieldInfo fieldInfo, Component ownerComponent, string fieldInfoName) { if (!Application.isPlaying) { return(null); } var isList = fieldInfo.GetValue(ownerComponent) is IList; ScreenInfo screenInfo; var ownerComponentGameObject = ownerComponent != null ? ownerComponent.gameObject : null; // Display all if field is IList if (isList) { screenInfo = new ScreenInfo(() => GetListFieldValuesMessage(fieldInfo, ownerComponent), ownerComponentGameObject); } else { screenInfo = new ScreenInfo(() => { var val = fieldInfo.GetValue(ownerComponent); var prefix = (ownerComponent != null ? ownerComponent.name : fieldInfo.DeclaringType?.Name); var valStr = val?.ToString() ?? "null"; return($"<b>{prefix}.{fieldInfo.Name}:</b> {valStr}"); }, ownerComponentGameObject); } return(screenInfo); }
public GDIZone(RenderedLayout Layout) { var instanceHandle = System.Diagnostics.Process.GetCurrentProcess().Handle; TransWind = new Window("ZoneMove", TransparencyPaintFunc, instanceHandle, hidden: true, delayShow: true) { Left = -5, Top = 0 - GDIWindow.WinApi.WinAPI.GetSystemMetrics(GDIWindow.Win32Enums.SystemMetric.SM_CYCAPTION) - 7, Width = ScreenInfo.GetDisplays().MaxWidth + 10, Height = ScreenInfo.GetDisplays().MaxHeight + GDIWindow.WinApi.WinAPI.GetSystemMetrics(GDIWindow.Win32Enums.SystemMetric.SM_CYCAPTION) + 15, ZPos = GDIWindow.Win32Enums.HWNDPosStates.TopMost, Style = GDIWindow.Win32Enums.WindowStylesEx.WS_EX_VisualStudioEmulation | GDIWindow.Win32Enums.WindowStylesEx.WS_EX_TOPMOST, Transparency = BackgroundColor.A, }; LabelWind = new Window("ZoneMove1", LabelPaintFunc, TransWind.Handle, hidden: true, delayShow: true) { Left = -5, Top = 0 - GDIWindow.WinApi.WinAPI.GetSystemMetrics(GDIWindow.Win32Enums.SystemMetric.SM_CYCAPTION) - 7, Width = ScreenInfo.GetDisplays().MaxWidth + 10, Height = ScreenInfo.GetDisplays().MaxHeight + GDIWindow.WinApi.WinAPI.GetSystemMetrics(GDIWindow.Win32Enums.SystemMetric.SM_CYCAPTION) + 15, ZPos = GDIWindow.Win32Enums.HWNDPosStates.TopMost, Style = GDIWindow.Win32Enums.WindowStylesEx.WS_EX_VisualStudioEmulation | GDIWindow.Win32Enums.WindowStylesEx.WS_EX_TOPMOST, Transparency = 255, }; TransWind.DelayedShow(); LabelWind.DelayedShow(); UpdateZones(Layout); }
/// <summary> /// Determines the size and location of the window on the screen before it is displayed. /// </summary> /// <param name="screen">The information about the monitor where the paste bar must be displayed.</param> private void InitializePosition(ScreenInfo screen) { var scale = screen.Scale / 100.0; WindowStartupLocation = WindowStartupLocation.Manual; Left = screen.Bounds.Left; Width = screen.Bounds.Right / scale; Height = screen.Bounds.Bottom / 9 * 3 / scale; if (Height < MinHeight) { Height = MinHeight; } if (Settings.Default.PasteBarPosition == PasteBarPosition.Top) { Top = screen.Bounds.Top - Height; } else { Top = screen.Bounds.Top + (screen.Bounds.Bottom / scale); } Hide(); }
internal static List <ScreenInfo> GetScreensInfos() { var scrInfos = new List <ScreenInfo>(); EnumDisplayMonitors( IntPtr.Zero, IntPtr.Zero, delegate( IntPtr hMonitor, IntPtr hdcMonitor, ref Rect lprcMonitor, IntPtr dwData) { var mi = new MonitorInfoEx(); mi.Size = (int)Marshal.SizeOf(mi); bool success = GetMonitorInfo(hMonitor, ref mi); if (success) { var di = new ScreenInfo { Width = (mi.Monitor.Right - mi.Monitor.Left), Height = (mi.Monitor.Bottom - mi.Monitor.Top), IsPrimary = mi.Flags == MONITORINFOF_PRIMARY, DeviceName = mi.DeviceName }; di.MonitorArea = Area.FromRect(di, mi.Monitor); di.WorkArea = Area.FromRect(di, mi.WorkArea); scrInfos.Add(di); } return(true); }, IntPtr.Zero); return(scrInfos); }
public static int StartCore() { IZoneRenderer.ActiveZoneColor = Color.FromArgb(Int32.Parse(DropZone.Settings.ActiveColor.TrimStart('#'), System.Globalization.NumberStyles.HexNumber)); // IZoneRenderer.BackgroundOpacity = DropZone.Settings.BackgroundOpacity; IZoneRenderer.LabelColor = Color.FromArgb(Int32.Parse(DropZone.Settings.LabelColor.TrimStart('#'), System.Globalization.NumberStyles.HexNumber)); var dic = ScreenInfo.GetDisplays(); LayoutCollection = DropZone.Settings.Zones; renderer = new ZoneRenderer.GDI.GDIZone(LayoutCollection.ActiveLayout); var t = new SystemTray.TrayIcon(Process.GetCurrentProcess().Handle, "Exit Drop Zone", GetDropZoneIcon().GetHicon()); t.Events[SystemTray.TrayIcon.MouseMessages.WM_LBUTTONDOWN] += (s, e) => { System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location, "management"); }; t.Events[SystemTray.TrayIcon.MouseMessages.WM_LBUTTONDBLCLK] += (s, e) => { System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location, "management"); }; if (!Environment.GetCommandLineArgs().Any(x => x == "Silent")) { t.PostInfo("DropZone Running", "DropZone will run in the background, click the system try icon to close the process"); } #if DEBUG ShowConsole(); #else HideConsole(); #endif RegisterInputHooks(); return(MessagePump.Pump.Start((str, ex) => { t.PostInfo("DropZone Error", str); })); }
public bool Process() { if (_state == State.Load) { if (_screenDirector.TryGetScreen(_jobData.name, out _cachedScreenInfo)) { _cachedScreenInfo.cached = _jobData.cached; NextLoadProcess(); } else { _state = State.Waiting; SceneLoader.Load(_jobData.name, false, screen => { screen.Close(true); _cachedScreenInfo = new ScreenInfo() { screen = screen, name = _jobData.name, cached = _jobData.cached }; _screenDirector.AddScreen(_cachedScreenInfo); NextLoadProcess(); }); } } if (_state == State.End) { return(false); } return(true); }
private static void PANIK() { List <string> results = ScreenInfo.GetScreenInfoList(); string cmdInput = ""; foreach (string r in results) { if (r.StartsWith("0x")) { cmdInput += $"& cmdow {r.Split(' ')[0]} /not /siz 800 600 /mov 0 0 "; } } using (Process t = new Process()) { t.StartInfo.FileName = @"C:\Windows\System32\cmd.exe"; t.StartInfo.Arguments = "/k"; t.StartInfo.UseShellExecute = false; t.StartInfo.RedirectStandardInput = true; t.StartInfo.CreateNoWindow = true; t.Start(); t.StandardInput.WriteLine($@"cd {Application.dataPath}/cmdow/ {cmdInput}& exit"); } isFullScreen = false; Debug.LogWarning($"<b>[cmdow PANIK!]</b> All Game windows(if there has any) are set to:\n" + $"<b><i>Position</i></b>(Main Screen) 0 0\n" + $"<b><i>Size</i></b> 800 600"); }
private ScreenInfo LoadXml(string path) { ScreenInfo info; if (File.Exists(path)) { //TODO 文件存在 加载XML string text = File.ReadAllText(path); StringReader sr = new StringReader(text); XmlSerializer ser = new XmlSerializer(typeof(ScreenInfo)); info = (ScreenInfo)ser.Deserialize(sr); sr.Close(); } else { //TODO 文件不存在 创建XML info = new ScreenInfo() { height = screenRect.height == 0 ? defaultHeight : screenRect.height, width = screenRect.width == 0 ? defaultWidth : screenRect.width, posX = screenRect.x, posY = screenRect.y }; XmlSerializer ser = new XmlSerializer(typeof(ScreenInfo)); StringWriter sw = new StringWriter(); ser.Serialize(sw, info); sw.Close(); string text = sw.ToString(); File.WriteAllText(path, text); } return(info); }
private void Start() { Instance = this; _screen = new ScreenInfo(Camera.main); _gameStatusController = new GameStatusController(); LiveLoader.Initialization(); LiveContrller.Initialization(); GameLevel.Initialization(); _spawnFloor.Initialization(); _spawnCharacter.Initialization(); SpawnContainerSystem.Initialization(); SpawnBox.Initialization(); SpawnDummell.Initialization(); SpawnHeard.Initialization(); Container.Initialization(); Audio.Initialization(); GameOverSystem.Initialization(); UnitiShowAds.Initialization(); _adsController.Initialization(); }
/// <summary> /// Initialize the table specifying the width of each column /// </summary> /// <param name="leftMarginIndent">left margin indentation</param> /// <param name="screenColumns">number of character columns on the screen</param> /// <param name="columnWidths">array of specified column widths</param> /// <param name="alignment">array of alignment flags</param> /// <param name="suppressHeader">if true, suppress header printing</param> internal void Initialize(int leftMarginIndent, int screenColumns, Span <int> columnWidths, ReadOnlySpan <int> alignment, bool suppressHeader) { //Console.WriteLine(" 1 2 3 4 5 6 7"); //Console.WriteLine("01234567890123456789012345678901234567890123456789012345678901234567890123456789"); if (leftMarginIndent < 0) { leftMarginIndent = 0; } if (screenColumns - leftMarginIndent < ScreenInfo.minimumScreenColumns) { _disabled = true; return; } _startColumn = leftMarginIndent; _hideHeader = suppressHeader; // make sure the column widths are correct; if not, take appropriate action ColumnWidthManager manager = new ColumnWidthManager(screenColumns - leftMarginIndent, ScreenInfo.minimumColumnWidth, ScreenInfo.separatorCharacterCount); manager.CalculateColumnWidths(columnWidths); // if all the columns are hidden, just disable bool oneValid = false; for (int k = 0; k < columnWidths.Length; k++) { if (columnWidths[k] >= ScreenInfo.minimumColumnWidth) { oneValid = true; break; } } if (!oneValid) { _disabled = true; return; } // now set the run time data structures _si = new ScreenInfo(); _si.screenColumns = screenColumns; _si.columnInfo = new ColumnInfo[columnWidths.Length]; int startCol = _startColumn; for (int k = 0; k < columnWidths.Length; k++) { _si.columnInfo[k] = new ColumnInfo(); _si.columnInfo[k].startCol = startCol; _si.columnInfo[k].width = columnWidths[k]; _si.columnInfo[k].alignment = alignment[k]; startCol += columnWidths[k] + ScreenInfo.separatorCharacterCount; //Console.WriteLine("start = {0} width = {1}", si.columnInfo[k].startCol, si.columnInfo[k].width); } }
public bool HasLoginButton(string fileName, ScreenInfo screen) { return(DetectTemplate(fileName, new string[] { $@".\ImageData\{screen.Name}\template\login_disable_pattern_template.png", $@".\ImageData\{screen.Name}\template\login_enable_pattern_template.png", }).Any()); }
private static bool EnumMonitorsProc(IntPtr hMonitor, IntPtr hdcMonitor, ref RectStruct lprcMonitor, IntPtr dwData) { MonitorInfoEx mi = new MonitorInfoEx(); mi.Size = (uint)Marshal.SizeOf(mi); bool success = GetMonitorInfo(hMonitor, ref mi); if (success) { ScreenInfo si = new ScreenInfo(); si.MonitorArea = Oblong.FromRectStruct(mi.Monitor); si.WorkArea = Oblong.FromRectStruct(mi.WorkArea); si.DeviceName = mi.DeviceName; si.IsPrimaryScreen = ((mi.Flags & MONITORINFOF_PRIMARY) == 1);; DEVMODE DeviceMode = new DEVMODE(); DeviceMode.Initialize(); if (EnumDisplaySettingsEx(ToLPTStr(mi.DeviceName), -1, ref DeviceMode)) { si.Scaling = Math.Round(((double)DeviceMode.dmPelsHeight / (mi.Monitor.bottom - mi.Monitor.top)) * 100); } si.NativeWorkArea = new Oblong((int)(mi.WorkArea.left * si.Scaling) / 100, (int)(mi.WorkArea.top * si.Scaling) / 100, (int)(mi.WorkArea.right * si.Scaling) / 100, (int)(mi.WorkArea.bottom * si.Scaling) / 100); si.NativeArea = new Oblong((int)(mi.Monitor.left * si.Scaling) / 100, (int)(mi.Monitor.top * si.Scaling) / 100, (int)(mi.Monitor.right * si.Scaling) / 100, (int)(mi.Monitor.bottom * si.Scaling) / 100); Display.Screens.Add(si); } return(true); }
public ScreenDocument AddScreen(string name, int tile_width, int tile_height) { var screen = new ScreenInfo(name, Tileset.Tileset); int[,] tiles = new int[tile_width, tile_height]; screen.Layers.Add(new ScreenLayerInfo(name, new TileLayer(tiles, Tileset.Tileset, 0, 0), false, new List <ScreenLayerKeyframe>())); _map.Screens.Add(name, screen); if (StartScreen == null) { _map.StartScreen = _map.Screens.Keys.First(); Dirty = true; } ScreenDocument doc = WrapScreen(screen); if (ScreenAdded != null) { ScreenAdded(doc); } return(doc); }
public static bool InsertScreen(ScreenInfo objScreenInfo) { ISalesPOSDBManager dbManager = new SalesPOSDBManager(); Boolean chk = false; try { dbManager.Open(); IDbDataParameter[] param = SalesPOSDBManagerFactory.GetParameters(dbManager.ProviderType, 3); //param[0] = dbManager.getparam("@ScreenCode", objScreenInfo.ScreenCode.ToString()); param[0] = dbManager.getparam("@ScreenName", objScreenInfo.ScreenName.ToString()); param[1] = dbManager.getparam("@FormName", objScreenInfo.FormName.ToString()); param[2] = dbManager.getparam("@MenuCode", objScreenInfo.MenuCode.ToString()); IDbCommand cmd = dbManager.getCommand(CommandType.StoredProcedure, "Inser_ScreenMaster", param); chk = dbManager.ExecuteQuery(cmd); } catch (Exception ex) { return(false); } finally { dbManager.Dispose(); } return(chk); }
/// <summary> /// Gets the current Authentication setting on the device. /// </summary> /// <returns>The setting as a string.</returns> private string GetDeviceAuthSetting(ScreenInfo screenInfo) { //First, check to see if we are on the screen with radio buttons Widget widget = screenInfo.Widgets.FirstOrDefault(w => w.Values.Keys.Contains("subtext") && w.Values["subtext"] == "SELECTED"); if (widget != null) { return(widget.Values["text"]); } //No radio buttons, so check to see if it is prompting for a user code (HPAC IRM Auth) // if there is a desire to use DRA then will need to check the value of the widget ... widget = screenInfo.Widgets.FirstOrDefault(w => w.HasValue("Code Expected")); if (widget != null) { return(ProviderMap[AuthenticationProvider.HpacIrm].DisplayText); } widget = screenInfo.Widgets.FirstOrDefault(w => w.HasValue("User Name", StringMatch.Contains)); if (widget != null) { return(ProviderMap[AuthenticationProvider.Windows].DisplayText); } // If we end up here, we couldn't determine the setting. return(string.Empty); }
public void CopyFrom(ScreenAmbienceStatus from) { if (from.IsStarted.HasValue) { IsStarted = from.IsStarted.Value; } if (from.Frame.HasValue) { Frame = from.Frame.Value; } if (from.AverageDeltaTime.HasValue) { AverageDeltaTime = from.AverageDeltaTime.Value; } if (from.IsHueConnected.HasValue) { IsHueConnected = from.IsHueConnected.Value; } if (from.UsingHue.HasValue) { UsingHue = from.UsingHue.Value; } if (from.UsingRgb.HasValue) { UsingRgb = from.UsingRgb.Value; } if (from.UsingLightStrip.HasValue) { UsingLightStrip = from.UsingLightStrip.Value; } if (from.ScreenInfo != null) { ScreenInfo = from.ScreenInfo; } }
static void Main(string[] args) { AmplifierInfo amplifier = new AmplifierInfo("AmplifierInfo"); TunerInfo tuner = new TunerInfo("TunerInfo"); DVDPlayerInfo dvdPlayer = new DVDPlayerInfo("DVDPlayerInfo"); CDPlayerInfo cdPlayer = new CDPlayerInfo("CDPlayerInfo"); ProjectorInfo projector = new ProjectorInfo("ProjectorInfo"); TheaterLightInfo light = new TheaterLightInfo("TheaterLightInfo"); ScreenInfo screen = new ScreenInfo("ScreenInfo"); PopcornPopperInfo popper = new PopcornPopperInfo("PopcornPopperInfo"); HomeTheaterInfo homeTheater = new HomeTheaterInfo(amplifier, tuner, dvdPlayer, cdPlayer, projector, screen, light, popper); homeTheater.WatchMovie("Move 123"); Console.WriteLine(); homeTheater.EndMovie(); Console.WriteLine(); homeTheater.ListenToCD("CD 123"); Console.WriteLine(); homeTheater.EndCD(); Console.WriteLine(); homeTheater.ListenToRadio(12.34); Console.WriteLine(); homeTheater.EndRadio(); Console.WriteLine(); Console.ReadLine(); }
void CheckIsDocking(POINT p) { if (!IsDockableEnabled) { DockingScreen = null; IsDockable = false; return; } var(dock, scr) = GetDockInfos(p); if (!IsDocked && (AllowedDocks.Contains(dock) || dock == DockName.None)) { DockingDock = dock; if (dock != DockName.None) { IsDockable = true; DockingScreen = scr; } else { DockingScreen = null; IsDockable = false; } } }
private static void MouseButtonDown(MSLLHOOKSTRUCT m) { if (HotkeyState.HasFlag(TriggerHotkeys) || TriggerHotkeys == default(state)) { candidateWindow = GetWindowDetailsFromPoint(m.pt); if (candidateWindow.IsPartOfWindowsUI) { Console.WriteLine("Candidate Window is shell window -- NO!"); candidateWindow = null; return; } if (DropZone.Settings.OnlyTriggerOnTitleBarClick && m.pt.y > candidateWindow.rect.Top + candidateWindow.TitleBarHeight) { Console.WriteLine("Click detected, but not in title bar constraints"); candidateWindow = null; return; } HotkeyState.Add(state.active); new System.Threading.Tasks.Task(() => { mhook.MouseMove += Mhook_MouseMove; renderer.ActivateSector(LayoutCollection.ActiveLayout.GetActiveZoneFromPoint(m.pt.x, m.pt.y)); renderer.RenderZone(ScreenInfo.GetDisplays().MaxWidth, ScreenInfo.GetDisplays().MaxHeight); }).Start(); #if DEBUG printState(m); #endif } }
public static void CreatePngScreen(ref byte[] pngData, int createW, int createH) { Vector2 screenSize = ScreenInfo.GetScreenSize(); int x = (int)screenSize.x; int y = (int)screenSize.y; Texture2D tex = new Texture2D(x, y, (TextureFormat)3, false); RenderTexture renderTexture = QualitySettings.get_antiAliasing() != 0 ? RenderTexture.GetTemporary(x, y, 24, (RenderTextureFormat)7, (RenderTextureReadWrite)0, QualitySettings.get_antiAliasing()) : RenderTexture.GetTemporary(x, y, 24); if (Object.op_Inequality((Object)null, (Object)Camera.get_main())) { Camera main = Camera.get_main(); RenderTexture targetTexture = main.get_targetTexture(); Rect rect = main.get_rect(); main.set_targetTexture(renderTexture); main.Render(); main.set_targetTexture(targetTexture); main.set_rect(rect); } RenderTexture.set_active(renderTexture); tex.ReadPixels(new Rect(0.0f, 0.0f, (float)x, (float)y), 0, 0); tex.Apply(); RenderTexture.set_active((RenderTexture)null); RenderTexture.ReleaseTemporary(renderTexture); TextureScale.Bilinear(tex, createW, createH); pngData = ImageConversion.EncodeToPNG(tex); Object.Destroy((Object)tex); }
protected override void OnStart() { _transform = GetComponent <Transform>(); _inputController = _controller as InputController; _runController = _bootstrap.GetController(ControllerTypes.Run) as RunController; _runController.OnGameEnd += StartSelfDestruction; _tracksInfo = _bootstrap.GetModel(ModelTypes.Tracks) as RunTracks; _screen = _bootstrap.GetModel(ModelTypes.Screen) as ScreenInfo; CalculateCameraDistance(); _bounds = new Bounds(transform.position, Vector3.zero); var childs = transform.GetComponentsInChildren <Renderer>(); for (int i = 0; i < childs.Length; i++) { _bounds.Encapsulate(childs[i].bounds); } SetIdleAnimation(); }
public void Connect() { try { var frequency = Observable.Interval(TimeSpan.FromMilliseconds(1000d / Framerate), NewThreadScheduler.Default); var cursorPositions = Observable.Create <Point>(s => { return(frequency.Subscribe(_ => { Point point; if (_hook.TryGetCursorPosition(out point)) { s.OnNext(point); } })); }); var simulatedGazePoints = Observable.Create <GazeData>(s => { ScreenInfo screen = null; return(cursorPositions.Subscribe(cursorPosition => { GazeData gaze; if ((screen != null || _screen.TryGetScreenInfo(cursorPosition.X, cursorPosition.Y, out screen)) && screen.Contains(cursorPosition)) { Point2 point = new Point2 ( x: (cursorPosition.X - screen.Left) / (double)screen.Width, y: (cursorPosition.Y - screen.Top) / (double)screen.Height ); gaze = _dataGenerator.CreateValidData(point); } else { gaze = _dataGenerator.CreateInvalidData(); } s.OnNext(gaze); })); }); _gazeSources.OnNext(simulatedGazePoints); //AttachEventHandlers(); //Framerate = 60;//_tracker.GetFrameRate(); //TrackBox = _tracker.GetTrackBox()?.ToTrackBoxCoords(); //DisplayArea = _tracker.GetXConfiguration()?.ToDisplayArea(); //Calibration = _tracker.GetCalibration()?.ToCalibrationResult(); } catch (Exception exception) { throw new ConnectionException("Simulator not found.", exception); } }
public virtual ScreenInfo?GetScreenInfo() { var screenInfo = new ScreenInfo { DeviceScaleFactor = 1.0F }; return(screenInfo); }
public Screen(IntPtr handle) { Handle = handle; _info = ScreenManager.Info(Handle); Disconnect += (s, e) => Dispose(); Microsoft.Win32.SystemEvents.DisplaySettingsChanging += DisplaySettingsChanging; Microsoft.Win32.SystemEvents.DisplaySettingsChanged += DisplaySettingsChanged; }
public static ScreenInfo GetInstance() { if (_instance == null) { _instance = new ScreenInfo (); RagePixelCamera cam = Camera.main.GetComponent<RagePixelCamera> (); width = cam.resolutionPixelWidth / cam.pixelSize; height = cam.resolutionPixelHeight / cam.pixelSize; center = new Vector3 (width * 0.5f, height * 0.5f, 0f); screenRect = new Rect(0, 0, width, height); } return _instance; }
public override void Initialize(ScreenInfo parent) { patient = Patient.FindObjectOfType(typeof(Patient)) as Patient; Object[] temp = ObjectInteraction.FindObjectsOfType(typeof(ObjectInteraction)); foreach (Object obj in temp) { if (obj == patient) continue; roomObjects.Add(obj as ObjectInteraction); } base.Initialize(parent); }
public string DrawLevel(SpriteBatch sb, Camera2D camera, ScreenInfo screenInfo) { if (sb == null) return "Level.DrawLevel - Error: Null SpriteBatch\n"; Vector2 topLeft = camera.ToVirtual(Vector2.Zero, false); Vector2 bottomRight = camera.ToVirtual(screenInfo.screenDimensions, false); uint numColumns, numRows; int curTileWidth = 0, curTileHeight = 0; for (int i = 0; i < numBackgroundLayers; ++i) { numColumns = backgroundRowTiles[i]; numRows = backgroundRowColumns[i]; if(numColumns > 0 && numRows > 0) { curTileWidth = backgrounds[i][0][0].getTileWidth(); curTileHeight = backgrounds[i][0][0].getTileHeight(); } // TODO don't run through the tiles not near the screen for (uint x = 0; x < numColumns; ++x) { for (uint y = 0; y < numRows; ++y) { if ((((x + 1) * curTileWidth) < topLeft.X || (x * curTileWidth) > bottomRight.X) && (((y + 1) * curTileHeight) < topLeft.Y || (y * curTileHeight) > bottomRight.Y)) continue; sb.Draw(backgrounds[i][x][y].getTexture(), new Vector2(x * curTileWidth, y * curTileHeight)); } } } //testObj.SetPosition(new Vector2(bottomRight.X - 100, bottomRight.Y - 100)); //testObj.SetPosition(new Vector2(topLeft.X, topLeft.Y)); //testObj.Draw(sb, camera, curScreenPos, curScreenDimensions, pxWidth, pxHeight); return null; }
public OAMInfo(SNESGraphicsDecoder dec, ScreenInfo si, int num) { Index = num; int lowaddr = num*4; X = dec.oam[lowaddr++]; Y = dec.oam[lowaddr++]; Name = dec.oam[lowaddr++]; Table = dec.oam[lowaddr] & 1; Palette = (dec.oam[lowaddr]>>1) & 7; Priority = (dec.oam[lowaddr] >> 4) & 3; HFlip = ((dec.oam[lowaddr] >> 6) & 1)==1; VFlip = ((dec.oam[lowaddr] >> 7) & 1) == 1; int highaddr = num / 4; int shift = (num % 4) * 2; int high = dec.oam[512+highaddr]; high >>= shift; int x = high & 1; high >>= 1; Size = high & 1; X |= (x << 8); X = (X << 23) >> 23; Tile = Table*256 + Name; Address = 32 * Tile; if (Tile < 256) Address += si.OBJTable0Addr; else Address += si.OBJTable1Addr - (256 * 32); Address &= 0xFFFF; }
public void RenderSpriteToScreen(int* screen, int stride, int destx, int desty, ScreenInfo si, int spritenum, OAMInfo oam = null, int xlimit = 1024, int ylimit = 1024, byte[,] spriteMap = null) { var dims = new[] { SNESGraphicsDecoder.ObjSizes[si.OBSEL_Size, 0], SNESGraphicsDecoder.ObjSizes[si.OBSEL_Size, 1] }; if(oam == null) oam = new OAMInfo(this, si, spritenum); var dim = dims[oam.Size]; int[] tilebuf = _tileCache[4]; int baseaddr; if (oam.Table == 0) baseaddr = si.OBJTable0Addr; else baseaddr = si.OBJTable1Addr; //TODO - flips of 'undocumented' rectangular oam settings are wrong. probably easy to do right, but we need a test int bcol = oam.Tile & 0xF; int brow = (oam.Tile >> 4) & 0xF; for(int oy=0;oy<dim.Height;oy++) for (int ox = 0; ox < dim.Width; ox++) { int x = ox; int y = oy; int dy, dx; if (oam.HFlip) dx = dim.Width - 1 - x; else dx = x; if (oam.VFlip) dy = dim.Height - 1 - y; else dy = y; dx += destx; dy += desty; if(dx>=xlimit || dy>=ylimit || dx<0 || dy<0) continue; int col = (bcol + (x >> 3)) & 0xF; int row = (brow + (y >> 3)) & 0xF; int sx = x & 0x7; int sy = y & 0x7; int addr = baseaddr*2 + (row * 16 + col) * 64; addr += sy * 8 + sx; int dofs = stride*dy+dx; int color = tilebuf[addr]; if (spriteMap != null && color == 0) { //skip transparent pixels } else { screen[dofs] = color; Paletteize(screen, dofs, oam.Palette * 16 + 128, 1); Colorize(screen, dofs, 1); if (spriteMap != null) spriteMap[dx, dy] = (byte)spritenum; } } }
public static ScreenInfo GetScreenInfo(LibsnesApi api) { var si = new ScreenInfo(); si.Mode1_BG3_Priority = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG3_PRIORITY) == 1; si.OBSEL_Size = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.OBSEL_SIZE); si.OBSEL_NameSel = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.OBSEL_NAMESEL); si.OBSEL_NameBase = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.OBSEL_NAMEBASE); si.ObjSizeBounds = ObjSizes[si.OBSEL_Size,1]; int square = Math.Max(si.ObjSizeBounds.Width, si.ObjSizeBounds.Height); si.ObjSizeBoundsSquare = new Dimensions(square, square); si.OBJTable0Addr = si.OBSEL_NameBase << 14; si.OBJTable1Addr = (si.OBJTable0Addr + ((si.OBSEL_NameSel + 1) << 13)) & 0xFFFF; si.SETINI_Mode7ExtBG = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.SETINI_MODE7_EXTBG) == 1; si.SETINI_HiRes = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.SETINI_HIRES) == 1; si.SETINI_Overscan = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.SETINI_OVERSCAN) == 1; si.SETINI_ObjInterlace = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.SETINI_OBJ_INTERLACE) == 1; si.SETINI_ScreenInterlace = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.SETINI_SCREEN_INTERLACE) == 1; si.CGWSEL_ColorMask = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGWSEL_COLORMASK); si.CGWSEL_ColorSubMask = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGWSEL_COLORSUBMASK); si.CGWSEL_AddSubMode = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGWSEL_ADDSUBMODE); si.CGWSEL_DirectColor = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGWSEL_DIRECTCOLOR) == 1; si.CGADSUB_AddSub = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGADSUB_MODE); si.CGADSUB_Half = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGADSUB_HALF) == 1; si.OBJ_MainEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TM_OBJ) == 1; si.OBJ_SubEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TS_OBJ) == 1; si.OBJ_MathEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGADSUB_OBJ) == 1; si.BK_MathEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGADSUB_BACKDROP) == 1; si.Mode.MODE = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG_MODE); si.BG.BG1.Bpp = ModeBpps[si.Mode.MODE, 0]; si.BG.BG2.Bpp = ModeBpps[si.Mode.MODE, 1]; si.BG.BG3.Bpp = ModeBpps[si.Mode.MODE, 2]; si.BG.BG4.Bpp = ModeBpps[si.Mode.MODE, 3]; //initial setting of mode type (derived from bpp table.. mode7 bg types will be fixed up later) for(int i=1;i<=4;i++) si.BG[i].BGMode = si.BG[i].Bpp == 0 ? BGMode.Unavailable : BGMode.Text; si.BG.BG1.TILESIZE = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG1_TILESIZE); si.BG.BG2.TILESIZE = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG2_TILESIZE); si.BG.BG3.TILESIZE = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG3_TILESIZE); si.BG.BG4.TILESIZE = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG4_TILESIZE); si.BG.BG1.SCSIZE = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG1_SCSIZE); si.BG.BG2.SCSIZE = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG2_SCSIZE); si.BG.BG3.SCSIZE = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG3_SCSIZE); si.BG.BG4.SCSIZE = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG4_SCSIZE); si.BG.BG1.SCADDR = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG1_SCADDR); si.BG.BG2.SCADDR = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG2_SCADDR); si.BG.BG3.SCADDR = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG3_SCADDR); si.BG.BG4.SCADDR = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG4_SCADDR); si.BG.BG1.TDADDR = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG1_TDADDR); si.BG.BG2.TDADDR = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG2_TDADDR); si.BG.BG3.TDADDR = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG3_TDADDR); si.BG.BG4.TDADDR = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG4_TDADDR); si.BG.BG1.MainEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TM_BG1) == 1; si.BG.BG2.MainEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TM_BG2) == 1; si.BG.BG3.MainEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TM_BG3) == 1; si.BG.BG4.MainEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TM_BG4) == 1; si.BG.BG1.SubEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TS_BG1) == 1; si.BG.BG2.SubEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TS_BG2) == 1; si.BG.BG3.SubEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TS_BG3) == 1; si.BG.BG4.SubEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.TS_BG4) == 1; si.BG.BG1.MathEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGADSUB_BG1) == 1; si.BG.BG2.MathEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGADSUB_BG2) == 1; si.BG.BG3.MathEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGADSUB_BG3) == 1; si.BG.BG4.MathEnabled = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.CGADSUB_BG4) == 1; si.BG.BG1.HOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG1HOFS); si.BG.BG1.VOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG1VOFS); si.BG.BG2.HOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG2HOFS); si.BG.BG2.VOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG2VOFS); si.BG.BG3.HOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG3HOFS); si.BG.BG3.VOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG3VOFS); si.BG.BG4.HOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG4HOFS); si.BG.BG4.VOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.BG4VOFS); si.M7HOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7HOFS); si.M7VOFS = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7VOFS); si.M7A = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7A); si.M7B = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7B); si.M7C = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7C); si.M7D = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7D); si.M7X = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7X); si.M7Y = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7Y); si.M7Y = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7Y); si.M7SEL_REPEAT = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7SEL_REPEAT); si.M7SEL_HFLIP = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7SEL_HFLIP)!=0; si.M7SEL_VFLIP = api.QUERY_peek_logical_register(LibsnesApi.SNES_REG.M7SEL_VFLIP)!=0; for (int i = 1; i <= 4; i++) { si.BG[i].Mode = si.Mode.MODE; si.BG[i].TiledataAddr = si.BG[i].TDADDR << 13; si.BG[i].ScreenAddr = si.BG[i].SCADDR << 9; } //fixup irregular things for mode 7 if (si.Mode.MODE == 7) { si.BG.BG1.TiledataAddr = 0; si.BG.BG1.ScreenAddr = 0; if (si.CGWSEL_DirectColor) { si.BG.BG1.BGMode = BGMode.Mode7DC; } else si.BG.BG1.BGMode = BGMode.Mode7; if (si.SETINI_Mode7ExtBG) { si.BG.BG2.BGMode = BGMode.Mode7Ext; si.BG.BG2.Bpp = 7; si.BG.BG2.TiledataAddr = 0; si.BG.BG2.ScreenAddr = 0; } } //determine which colors each BG could use switch (si.Mode.MODE) { case 0: si.BG.BG1.PaletteSelection = new PaletteSelection(0, 32); si.BG.BG2.PaletteSelection = new PaletteSelection(32, 32); si.BG.BG3.PaletteSelection = new PaletteSelection(64, 32); si.BG.BG4.PaletteSelection = new PaletteSelection(96, 32); break; case 1: si.BG.BG1.PaletteSelection = new PaletteSelection(0, 128); si.BG.BG2.PaletteSelection = new PaletteSelection(0, 128); si.BG.BG3.PaletteSelection = new PaletteSelection(0, 32); si.BG.BG4.PaletteSelection = new PaletteSelection(0, 0); break; case 2: si.BG.BG1.PaletteSelection = new PaletteSelection(0, 128); si.BG.BG2.PaletteSelection = new PaletteSelection(0, 128); si.BG.BG3.PaletteSelection = new PaletteSelection(0, 0); si.BG.BG4.PaletteSelection = new PaletteSelection(0, 0); break; case 3: si.BG.BG1.PaletteSelection = new PaletteSelection(0, 256); si.BG.BG2.PaletteSelection = new PaletteSelection(0, 128); si.BG.BG3.PaletteSelection = new PaletteSelection(0, 0); si.BG.BG4.PaletteSelection = new PaletteSelection(0, 0); break; case 4: si.BG.BG1.PaletteSelection = new PaletteSelection(0, 256); si.BG.BG2.PaletteSelection = new PaletteSelection(0, 32); si.BG.BG3.PaletteSelection = new PaletteSelection(0, 0); si.BG.BG4.PaletteSelection = new PaletteSelection(0, 0); break; case 5: si.BG.BG1.PaletteSelection = new PaletteSelection(0, 128); si.BG.BG2.PaletteSelection = new PaletteSelection(0, 32); si.BG.BG3.PaletteSelection = new PaletteSelection(0, 0); si.BG.BG4.PaletteSelection = new PaletteSelection(0, 0); break; case 6: si.BG.BG1.PaletteSelection = new PaletteSelection(0, 128); si.BG.BG2.PaletteSelection = new PaletteSelection(0, 32); si.BG.BG3.PaletteSelection = new PaletteSelection(0, 0); si.BG.BG4.PaletteSelection = new PaletteSelection(0, 0); break; case 7: si.BG.BG1.PaletteSelection = new PaletteSelection(0, 256); si.BG.BG2.PaletteSelection = new PaletteSelection(0, 128); si.BG.BG3.PaletteSelection = new PaletteSelection(0, 0); si.BG.BG4.PaletteSelection = new PaletteSelection(0, 0); break; } return si; }
internal void Initialize(int leftMarginIndent, int screenColumns, int[] columnWidths, int[] alignment, bool suppressHeader) { if (leftMarginIndent < 0) { leftMarginIndent = 0; } if ((screenColumns - leftMarginIndent) < 5) { this.disabled = true; } else { this.startColumn = leftMarginIndent; this.hideHeader = suppressHeader; new ColumnWidthManager(screenColumns - leftMarginIndent, 1, 1).CalculateColumnWidths(columnWidths); bool flag = false; for (int i = 0; i < columnWidths.Length; i++) { if (columnWidths[i] >= 1) { flag = true; break; } } if (!flag) { this.disabled = true; } else { this.si = new ScreenInfo(); this.si.screenColumns = screenColumns; this.si.columnInfo = new ColumnInfo[columnWidths.Length]; int startColumn = this.startColumn; for (int j = 0; j < columnWidths.Length; j++) { this.si.columnInfo[j] = new ColumnInfo(); this.si.columnInfo[j].startCol = startColumn; this.si.columnInfo[j].width = columnWidths[j]; this.si.columnInfo[j].alignment = alignment[j]; startColumn += columnWidths[j] + 1; } } } }
public void AddBlankScreenInfo( string name ) { // create new SI structure with new screen inside ScreenInfo si = new ScreenInfo(); GUIManager.GetInstance().Add(si); GUIScreen newscreen = new GUIScreen(); newscreen.name = name; si.AddScreen(newscreen); // build the heirarchy BuildScreenHeirarchy(name,si); }
public void EditorSaveXML( string name ) { // build the screen //GUIScreen screen = myObject.BuildScreenXML(); GUIScreen screen = myObject.guiScreen; // create new screen info ScreenInfo si = new ScreenInfo(); si.AddScreen(screen as GUIScreen); // convert to save si.ConvertToGUIScreen(); // create new XML Serializer<ScreenInfo> serializer = new Serializer<ScreenInfo>(); serializer.Save(name + ".xml",si); }
public ScreenInfo LoadScreenInGUIManager() { if ( _guiScreen != null ) { ScreenInfo si = new ScreenInfo(); si.AddScreen(_guiScreen); // load screen if GUI manager is running if ( GUIManager.GetInstance() != null ) { GUIManager.GetInstance().Add(si); } return si; } return null; }
public void ParseScreen(ScreenInfo sc) { var scr = statedyn["screen"]; sc.X = (short?) scr["x"] ?? 0; sc.Y = (short?) scr["y"] ?? 0; sc.W = (short?) scr["width"] ?? 0; sc.Wunit = sc.W / ScreenMeteringResolution; sc.H = (short?) scr["height"] ?? 0; sc.Hunit = sc.H / ScreenMeteringResolution; sc.FSflag = (bool?) scr["fullscreen"] ?? false; sc.ShowDebugInfo = (bool?) scr["debug_info"] ?? false; sc.Fov = (float?) scr["fov"] ?? 0; sc.Vsync = (bool?) scr["vsync"] ?? false; }
public bool BuildScreenHeirarchy( string pathname, ScreenInfo si, bool makeNewSI=false ) { makeNewSI=false; if ( si == null || si.Screens.Count == 0 ) return false; string name = Path.GetFileNameWithoutExtension(pathname); GUIEditScreenInfo esi=null; // make name string loadedXML = name + ".xml"; // add game object for this heirarchy GameObject newobj = new GameObject(name + ".xml"); if ( newobj != null ) { // either make a new SI if inspecting, or use the original if loading esi = newobj.AddComponent(typeof(GUIEditScreenInfo)) as GUIEditScreenInfo; if ( makeNewSI == true ) { ScreenInfo newSI = new ScreenInfo(); newSI.isModal = false; esi.ScreenInfo = newSI; } else { esi.ScreenInfo = si; } esi.saveName = loadedXML; esi.loadName = pathname; // make this a child of the GUIManager newobj.transform.parent = myObject.gameObject.transform; newobj.transform.localPosition = Vector3.zero; // make this selected object Selection.activeGameObject = newobj; } // build only first screen (for now) if ( si.Screens.Count > 0 ) { foreach( GUIScreen s in si.Screens ) { GUIScreen tmp = s; // make sure that this is a base screen if we're making new if ( makeNewSI == true ) { GUIScreen newScreen = new GUIScreen(); newScreen.type = "GUIScreen"; newScreen.CopyFrom(s); newScreen.name = s.name; esi.ScreenInfo.AddScreen(newScreen); tmp = newScreen; } // this will recursively build the whole structure GameObject go = BuildScreen(tmp,esi); // handle parenting go.transform.parent = newobj.transform; go.transform.localPosition = Vector3.zero; } // add new one //GUIManager.GetInstance().Add (esi.ScreenInfo); // we're ok return true; } return false; }
/// <summary> /// Initialize the table specifying the width of each column /// </summary> /// <param name="leftMarginIndent">left margin indentation</param> /// <param name="screenColumns">number of character columns on the screen</param> /// <param name="columnWidths">array of specified column widths</param> /// <param name="alignment">array of alignment flags</param> /// <param name="suppressHeader">if true, suppress header printing</param> internal void Initialize(int leftMarginIndent, int screenColumns, int[] columnWidths, int[] alignment, bool suppressHeader) { //Console.WriteLine(" 1 2 3 4 5 6 7"); //Console.WriteLine("01234567890123456789012345678901234567890123456789012345678901234567890123456789"); if (leftMarginIndent < 0) { leftMarginIndent = 0; } if (screenColumns - leftMarginIndent < ScreenInfo.minimumScreenColumns) { _disabled = true; return; } _startColumn = leftMarginIndent; _hideHeader = suppressHeader; // make sure the column widths are correct; if not, take appropriate action ColumnWidthManager manager = new ColumnWidthManager(screenColumns - leftMarginIndent, ScreenInfo.minimumColumnWidth, ScreenInfo.separatorCharacterCount); manager.CalculateColumnWidths(columnWidths); // if all the columns are hidden, just disable bool oneValid = false; for (int k = 0; k < columnWidths.Length; k++) { if (columnWidths[k] >= ScreenInfo.minimumColumnWidth) { oneValid = true; break; } } if (!oneValid) { _disabled = true; return; } // now set the run time data structures _si = new ScreenInfo(); _si.screenColumns = screenColumns; _si.columnInfo = new ColumnInfo[columnWidths.Length]; int startCol = _startColumn; for (int k = 0; k < columnWidths.Length; k++) { _si.columnInfo[k] = new ColumnInfo(); _si.columnInfo[k].startCol = startCol; _si.columnInfo[k].width = columnWidths[k]; _si.columnInfo[k].alignment = alignment[k]; startCol += columnWidths[k] + ScreenInfo.separatorCharacterCount; //Console.WriteLine("start = {0} width = {1}", si.columnInfo[k].startCol, si.columnInfo[k].width); } }
public bool BuildScreenHeirarchy( string pathname, ScreenInfo si ) { if ( si == null || si.Screens.Count == 0 ) return false; string name = Path.GetFileNameWithoutExtension(pathname); GUIEditScreenInfo esi=null; // add game object for this heirarchy GameObject newobj = new GameObject(name + ".xml"); if ( newobj != null ) { esi = newobj.AddComponent(typeof(GUIEditScreenInfo)) as GUIEditScreenInfo; esi.ScreenInfo = si; esi.saveName = newobj.gameObject.name; esi.loadName = pathname; } // build only first screen (for now) if ( si.Screens.Count > 0 ) { foreach( GUIScreen s in si.Screens ) { // this will recursively build the whole structure GameObject go = BuildScreen(s,esi); // handle parenting go.transform.parent = newobj.transform; go.transform.localPosition = Vector3.zero; } // we're ok return true; } return false; }
public override void Initialize(ScreenInfo parent) { // Create the space to make the left and right side menus // and add the generated GUIMenu objects into it. List<GUIObject> find = FindObjectsOfType(typeof(GUIMenu)); if (find.Count > 0) lmenu = find[0] as GUIMenu; find = FindObjectsOfType(typeof(GUIScrollMenu)); if (find.Count > 0) rmenu = find[0] as GUIScrollMenu; find = FindObjectsOfType(typeof(GUILabel)); if (find.Count > 0) { title = find[0] as GUILabel; if (interactObject != null) title.text = interactObject.prettyname; } find.Clear(); Elements.Clear(); GUIVerticalCommand vert = new GUIVerticalCommand(); vert.Elements = new List<GUIObject>(); Elements.Add(vert); if (title != null ) vert.Elements.Add(title); GUISpace space = new GUISpace(); space.pixels = 5; vert.Elements.Add(space); if (lmenu != null && rmenu != null) { GUIHorizontalCommand hc = new GUIHorizontalCommand(); hc.Elements = new List<GUIObject>(); hc.Elements.Add(lmenu); hc.Elements.Add(rmenu); vert.Elements.Add(hc); } base.Initialize(parent); patient = Patient.FindObjectOfType(typeof(Patient)) as Patient; Object[] temp = ObjectInteraction.FindObjectsOfType(typeof(ObjectInteraction)); foreach (Object obj in temp) { if (obj == patient) continue; roomObjects.Add(obj as ObjectInteraction); } listings = new Listings(); listings.category = "root"; current = listings; }
public static SIIMenuTreeNode BuildMenu(ScreenInfo screenInfo) { if (screenInfo == null) return null; SIIMenuTreeNode returnNode = new SIIMenuTreeNode(); returnNode.filePath = "Object"; returnNode.info = new ScreenInfo(); returnNode.info.Screens = new List<GUIScreen>(); returnNode.children = new List<ScreenMenuTreeNode>(); foreach(GUIScreen screen in screenInfo.Screens) { GUIScreen newScreen = new GUIScreen(); newScreen.CopyFrom(screen); returnNode.info.Screens.Add(newScreen); ScreenMenuTreeNode newNode = ScreenMenuTreeNode.BuildMenu(newScreen); newNode.parent = returnNode; returnNode.children.Add(newNode); } return returnNode; }
public override void Initialize(ScreenInfo parent) { base.Initialize(parent); // get important areas GUIArea textArea = Find("textArea") as GUIArea; contentArea = textArea.Find("contentArea") as GUIScrollView; contentText = contentArea.Find("contentText") as GUILabel; contentArea.Elements.Remove(contentText); // save styles parentStyle = _style; textAreaStyle = textArea.Style; textAreaContentStyle = contentArea.Style; GUIArea buttonArea = Find("buttonArea") as GUIArea; buttonStyle = buttonArea.Style; GUIObject notice = Find("notice"); if (notice != null) { notice.text = newMessages.ToString() + " new messages"; } maxcount = MaxMessages; }
public override void Initialize(ScreenInfo parent) { base.Initialize(parent); pManager = PharmacyManager.GetInstance(); List<GUIObject> temp = FindObjectsOfType(typeof(GUIDrugList)); if (temp != null || temp.Count > 0) list = temp[0] as GUIDrugList; temp = FindObjectsOfType(typeof(GUIOrderCart)); if (temp != null || temp.Count > 0) cart = temp[0] as GUIOrderCart; SetupLeft(); // Test //cart.text = "TestText"; order = new GDOrder(); cartedOrders.Clear(); }