Пример #1
0
        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);
        }
Пример #2
0
 private void ResetSelection(ScreenInfo screenInfo)
 {
     if (Items != null && !Items.Contains(screenInfo))
     {
         SelectedItem = null;
     }
 }
Пример #3
0
        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);
        }
Пример #4
0
 void Awake()
 {
     screenInfo = FindObjectOfType <ScreenInfo>();
     worldGrid  = FindObjectOfType <Grid>();
     grids      = worldGrid.GetComponentsInChildren <Tilemap>();
     groundGrid = grids[0];
 }
Пример #5
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);
        }
Пример #6
0
        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());
            }
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        /// <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();
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
            }
Пример #13
0
    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");
    }
Пример #14
0
    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);
    }
Пример #15
0
    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();
    }
Пример #16
0
        /// <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);
            }
        }
Пример #17
0
 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());
 }
Пример #18
0
        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);
        }
Пример #19
0
        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);
        }
Пример #20
0
        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);
        }
Пример #22
0
 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;
     }
 }
Пример #23
0
        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();
        }
Пример #24
0
        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;
                }
            }
        }
Пример #25
0
        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
            }
        }
Пример #26
0
    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();
        }
Пример #28
0
        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);
            }
        }
Пример #29
0
        public virtual ScreenInfo?GetScreenInfo()
        {
            var screenInfo = new ScreenInfo {
                DeviceScaleFactor = 1.0F
            };

            return(screenInfo);
        }
Пример #30
0
 public Screen(IntPtr handle)
 {
     Handle      = handle;
     _info       = ScreenManager.Info(Handle);
     Disconnect += (s, e) => Dispose();
     Microsoft.Win32.SystemEvents.DisplaySettingsChanging += DisplaySettingsChanging;
     Microsoft.Win32.SystemEvents.DisplaySettingsChanged  += DisplaySettingsChanged;
 }
Пример #31
0
 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;
 }
Пример #32
0
    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);
    }
Пример #33
0
        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;
        }
Пример #34
0
            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;
            }
Пример #35
0
        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;
                    }
                }
        }
Пример #36
0
            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;
            }
Пример #37
0
 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);				
	}
Пример #40
0
	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;
	}
Пример #41
0
 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;
	}
Пример #43
0
        /// <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);
            }
        }
Пример #44
0
	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;
	}
Пример #45
0
    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;
    }
Пример #47
0
    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;
    }
Пример #48
0
    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();
    }