Exemple #1
0
 // Singleton
 private void Awake()
 {
     if (instance != null && instance != this)
     {
         Destroy(gameObject);
     }
     else
     {
         DontDestroyOnLoad(this);
         instance = this;
     }
 }
        private void LoadeEffectiveScreensList()
        {
            if (CurrentPreferences.Screens.Count > 0)
            {
                switch (CurrentPreferences.MultiScreenMode)
                {
                case Modes.Span:
                    Rectangle enclosingRect = FindEnclosingRect(Screen.AllScreens.Select(r => r.Bounds).ToList());
                    CurrentPreferences.Screens[0].ScreenNum = 0;
                    CurrentPreferences.Screens[0].Bounds    = enclosingRect;
                    CurrentPreferences.Screens[0].IsPrimary = true;
                    break;

                case Modes.Mirror:
                    var screen = CurrentPreferences.Screens[0];
                    screen.ScreenNum = 0;
                    screen.Bounds    = Screen.AllScreens[0].Bounds;
                    screen.IsPrimary = true;
                    for (int i = 1; i < Screen.AllScreens.Length; i++)
                    {
                        var screenInfo = new ScreenInformation
                        {
                            UrlList   = CurrentPreferences.Screens[0].UrlList.ToList(),
                            Bounds    = Screen.AllScreens[i].Bounds,
                            IsPrimary = Screen.AllScreens[i].Primary,
                            Interval  = CurrentPreferences.Screens[0].Interval,
                            Randomize = CurrentPreferences.Screens[0].Randomize,
                            ScreenNum = i
                        };
                        CurrentPreferences.Screens.Add(screenInfo);
                    }
                    break;

                case Modes.Separate:
                    for (int i = 0; i < Screen.AllScreens.Length; i++)
                    {
                        var singleScreen = CurrentPreferences.Screens[i];
                        singleScreen.ScreenNum = i;
                        singleScreen.Bounds    = Screen.AllScreens[i].Bounds;
                        singleScreen.IsPrimary = Screen.AllScreens[i].Primary;
                    }
                    break;
                }
            }
        }
        private void ReadBackValuesFromUI()
        {
            prefsManager.CurrentPreferences.Screens = new List <ScreenInformation>();

            for (int index = 0; index < screenUserControls.Count; index++)
            {
                var screenControl     = screenUserControls[index];
                var urls              = screenControl.lvUrls.Items.Cast <ListViewItem>().Select(x => x.Text).ToList();
                var screenInformation = new ScreenInformation
                {
                    UrlList   = urls,
                    Randomize = screenControl.cbRandomize.Checked,
                    Interval  = (int)screenControl.nudRotationInterval.Value,
                    IsPrimary = index == 0,
                    ScreenNum = index
                };
                prefsManager.CurrentPreferences.Screens.Add(screenInformation);
            }
            prefsManager.CurrentPreferences.CloseOnActivity = cbCloseOnActivity.Checked;
        }
 void UserInterfaceViewModel_UserInterfaceShown(Object sender, Infrastructure.Events.UserInterfaceShownEventArgument e)
 {
     ActiveScreen = screenManager.GetActiveScreen();
 }
 public static WCFScreenInformation ToWCF(ScreenInformation screen)
 {
     return(new WCFScreenInformation(ToWCF(screen.Bounds), screen.DeviceID, screen.Primary));
 }