コード例 #1
0
 void Start()
 {
     _data = GetComponent <Dropdown>();
     if (_type == PrinterName)
     {
         if (!PrintDevice.isValid)
         {
             throw new NotSupportedException("認識できるプリンターがありません");
         }
         var printer = PrintDevice.GetPrinterNames().GetEnumerator();
         while (printer.MoveNext())
         {
             _item      = new Dropdown.OptionData();
             _item.text = printer.Current;
             _data.options.Add(_item);
         }
         _data.captionText.text = _data.options[0].text;
     }
     else if (_type == PrinterColor)
     {
         var color = _offScreenCamera.GetComponent <Grayscale>();
         if (_data.value == 0)
         {
             _printColor   = PrintDevice.GetPrinterColorConfig(true);
             color.enabled = false;
         }
         else if (_data.value == 1)
         {
             _printColor   = PrintDevice.GetPrinterColorConfig(false);
             color.enabled = true;
         }
     }
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: skygrail/OOP
        static void Main(string[] args)
        {
            PrintDevice printObj = new PrintDevice("Canon", 5, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", "Китай");
            Skaner      skanObj  = new Skaner("Canon CanoScan", 4, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", "Китай");
            Computer    compObj  = new Computer("Asus Zenbook", 10, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 1500, "Ультрабук");
            Tablet      tablObj  = new Tablet("Lenovo M10 Plus", 6, "-", 10.3, 990, "Tab M10 (Lenovo)");

            compObj.Available();
            skanObj.Available();
            printObj.priceIncrease();

            Console.WriteLine(new string('=', 35));
            Console.WriteLine("Информация о имеющемся планшете: ");
            Console.WriteLine(tablObj.ToString());

            Console.WriteLine(new string('=', 35));
            Product prodObj = new Computer("Lenovo IdeaPad L3", 3, "Встречайте 15,6-дюймовый ноутбук Lenovo IdeaPad 3. Оснащенный передовым процессором Intel® Core™ 10-го поколения и дискретной видеокартой.", "Intel Core i3", 2200, "Универсальный");

            Console.WriteLine("Информация о новом товаре:");
            Console.WriteLine(prodObj.ToString());

            Console.WriteLine(new string('=', 35));
            Console.WriteLine(prodObj is Product ? "Объект prodObj является элементом класса Product" : "Объект prodObj не является элементом класса Product");
            Console.WriteLine(compObj is Device ? "Объект compObj является элементом класса Device" : "Объект compObj не является элементом класса Device");
            Console.WriteLine(tablObj is Skaner ? "Объект tablObj является элементом класса Device" : "Объект tablObj не является элементом класса Device");

            Console.WriteLine(new string('=', 35));
            var secProd = prodObj as Computer;

            if (secProd != null)
            {
                Console.WriteLine(secProd.ToString());
            }

            Console.WriteLine(new string('=', 35));
            compObj.Producer();
            compObj.GetDiscounts();
            tablObj.InfoAboutDiscounts();

            Console.WriteLine(new string('=', 35));
            Console.WriteLine("Вызываем класс IPrinter и метод IAmPrinting(): ");
            IPrinter printing = new IPrinter();

            Product[] ArrayTech = new Product[] { printObj, skanObj, tablObj };
            foreach (var tech in ArrayTech)
            {
                printing.IAmPrinting(tech);
                Console.WriteLine();
            }
        }
コード例 #3
0
    private IEnumerator ScreenShot()
    {
        yield return(new WaitForEndOfFrame());

        //float x2 = (Screen.width / 1920.0f) * x;
        //float y2 = (Screen.height / 1080.0f) * y;
        //float w = (Screen.width / 1920.0f) * width;
        //float h = (Screen.height / 1080.0f) * height;

        //Texture2D tex = new Texture2D((int)w, (int)h, TextureFormat.RGB24, false);
        //tex.ReadPixels(new Rect(x2, y2, w, h), 0, 0);
        //tex.Apply();

        RenderTexture renderTexture = Resources.Load <RenderTexture>("PrinterScene/PrintTexture");

        RenderTexture.active = renderTexture;

        Texture2D tex = new Texture2D(renderTexture.width, renderTexture.height, TextureFormat.ARGB32, false);

        tex.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
        tex.Apply();

        var pngData        = tex.EncodeToPNG();
        var screenShotPath = GetScreenShotPath();

        File.WriteAllBytes(screenShotPath, pngData);

        var printer = GameObject.Find("Printer").GetComponent <Dropdown>();

        Debug.Log(printer.value);

        var color = GameObject.Find("Color").GetComponent <Dropdown>();

        Debug.Log(color.value);

        //var path = Application.dataPath + "/Resources/" + _textureName + ".png";
        //Debug.Log(path);
        Debug.Log(screenShotPath);
        Debug.Log(printer.options[printer.value].text);

        PrintDevice.PrintRequest(screenShotPath,
                                 PrintDevice.DrawSize.one * PrintSize,
                                 printer.options[printer.value].text,
                                 PrinterConfig._printColor
                                 );
    }
コード例 #4
0
ファイル: Program.cs プロジェクト: skygrail/OOP
        //static void Main(string[] args)
        //{
        //    Console.WriteLine("Введите элементы первого множества (через пробел): ");
        //    string enteredSet = Console.ReadLine();
        //    string[] items = enteredSet.Split(' ');
        //    int[] enteredItems = new int[items.Length];
        //    for (int i = 0; i < items.Length; i++)
        //    {
        //        enteredItems[i] = Convert.ToInt32(items[i]);
        //    }
        //    Set firstSet = new Set(enteredItems);

        //    Console.WriteLine();
        //    Console.WriteLine("Введите элементы второго множества (через пробел): ");
        //    enteredSet = Console.ReadLine();
        //    items = enteredSet.Split(' ');
        //    enteredItems = new int[items.Length];
        //    for (int i = 0; i < items.Length; i++)
        //    {
        //        enteredItems[i] = Convert.ToInt32(items[i]);
        //    }
        //    Set secondSet = new Set(enteredItems);

        //    Console.WriteLine();
        //    bool exit = false;
        //    do
        //    {
        //        Console.Write($"Выберите множество, на основе которого хотите проверить подмножество (0 для пропуска этого условия): ");
        //        int choice = Convert.ToInt32(Console.ReadLine());
        //        switch (choice)
        //        {
        //            case 0:
        //                {
        //                    exit = true;
        //                    break;
        //                }
        //            case 1:
        //                {
        //                    Console.WriteLine($"Первое множество: ");
        //                    firstSet.ShowSet();
        //                    Console.WriteLine($"Проверка на принадлежность подмножества первому множеству\n (Введите элементы подмножества через пробел): ");
        //                    enteredSet = Console.ReadLine();
        //                    items = enteredSet.Split(' ');
        //                    enteredItems = new int[items.Length];
        //                    for (int i = 0; i < items.Length; i++)
        //                    {
        //                        enteredItems[i] = Convert.ToInt32(items[i]);
        //                    }
        //                    Console.WriteLine();
        //                    if (enteredItems > firstSet) Console.WriteLine($"Введённое множество является подмножеством данного множества\n");
        //                    else Console.WriteLine($"Введённое множество не является подмножеством данного множества\n");
        //                    break;
        //                }
        //            case 2:
        //                {
        //                    Console.WriteLine($"Второе множество: ");
        //                    secondSet.ShowSet();
        //                    Console.WriteLine($"Проверка на принадлежность подмножества второму множеству\n (Введите элементы подмножества через пробел): ");
        //                    enteredSet = Console.ReadLine();
        //                    items = enteredSet.Split(' ');
        //                    enteredItems = new int[items.Length];
        //                    for (int i = 0; i < items.Length; i++)
        //                    {
        //                        enteredItems[i] = Convert.ToInt32(items[i]);
        //                    }
        //                    Console.WriteLine();
        //                    if (enteredItems > secondSet) Console.WriteLine($"Введённое множество является подмножеством данного множества\n");
        //                    else Console.WriteLine($"Введённое множество не является подмножеством данного множества\n");
        //                    break;
        //                }
        //        }
        //    } while (!exit);

        //    Console.WriteLine("\nПересечение двух введённых множеств: ");
        //    Set crossedSet = firstSet % secondSet;
        //    crossedSet.ShowSet();

        //    Console.WriteLine("\nРавенство или неравенство двух введённых множеств: : ");
        //    int equalSet = firstSet != secondSet;
        //    if (equalSet == 0)
        //        Console.WriteLine("Множества не равны");
        //    else
        //        Console.WriteLine("Множества равны");

        //    firstSet.SetOwner.ToString();
        //    secondSet.SetDate.ToString();
        //}

        static void Main(string[] args)
        {
            try
            {
                int[]     intArray = new int[] { 2, 4, 6, 8, 10 };
                Set <int> intSet   = new Set <int>(intArray);
                intSet.LookUp();
                intSet.Delete(2);
                intSet.LookUp();
                intSet.Add(9);
                intSet.Sort();
                intSet.LookUp();
                float[]     floatArray = new float[] { 2.8f, 1.9f, 2.2f, 4.2f, 3.3f };
                Set <float> floatSet   = new Set <float>(floatArray);
                floatSet.LookUp();
                floatSet.Delete(2);
                floatSet.LookUp();
                floatSet.Add(10);
                floatSet.Sort();
                floatSet.LookUp();
                PrintDevice   printObj = new PrintDevice("Canon", 5, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", 760, "Китай");
                Skaner        skanObj  = new Skaner("Canon CanoScan", 4, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", 550, "Китай");
                Computer      compObj  = new Computer("Asus Zenbook", 10, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 1500, "Ультрабук");
                Tablet        tablObj  = new Tablet("Lenovo M10 Plus", 6, "-", 10.3, 990, "Tab M10 (Lenovo)");
                Product[]     prArr    = new Product[] { printObj, skanObj, compObj, tablObj };
                Set <Product> prSet    = new Set <Product>(prArr);
                prSet.LookUp();
                prSet.Delete(skanObj);
                prSet.LookUp();
                prSet.Add(printObj);
                prSet.Sort();
                prSet.LookUp();
                prSet.ToFile(@"D:\VisualStudio\OOP\Lab8\Set.txt");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{ex.Message}\n{ex.StackTrace}");
            }
            finally
            {
                Console.WriteLine("End of program");
            }
        }
コード例 #5
0
 /// <summary>
 /// カラーの設定
 /// モノクロならfalse,カラーならtrueにする
 /// </summary>
 public void ColorConfig()
 {
     if (_data.value == 0)
     {
         var _printColor = PrintDevice.GetPrinterColorConfig(true);
         Debug.Log("_printColor = " + _printColor);
         _offScreenCamera.GetComponent <Grayscale>().enabled = false;
     }
     else if (_data.value == 1)
     {
         _printColor = PrintDevice.GetPrinterColorConfig(false);
         Debug.Log("_printColor = " + _printColor);
         _offScreenCamera.GetComponent <Grayscale>().enabled = true;
     }
     else
     {
         throw new IndexOutOfRangeException("Out of Range");
     }
 }
コード例 #6
0
        static void Main(string[] args)
        {
            Console.WriteLine(new string('=', 45));
            Console.WriteLine("============ Лабораторная №7 ============");
            Console.WriteLine(new string('=', 45));

            try
            {
                Console.WriteLine(new string('~', 45));
                try
                {
                    Tablet tablObj1 = new Tablet("Lenovo M10 Plus", 6, "-", 10.3, 990, "M");
                }
                catch (IsNotRightModel nam)
                {
                    Console.WriteLine($"{nam.Message}\n {nam.Source} \n {nam.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                try
                {
                    Computer compObj1 = new Computer("Asus Zenbook", 10, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 400, "Ультрабук");
                }
                catch (IsNotRightPrice ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                Skaner skanObj1 = new Skaner("Canon CanoScan", 4, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", "Китай");
                try
                {
                    skanObj1.WorkingLife = 17;
                }
                catch (WrongWorkingLifeValue ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));


                try
                {
                    Tablet tablObj2 = new Tablet("Lenovo M10 Plus", 6, "-", 1, 990, "Tab M10 (Lenovo)");
                }
                catch (IsNotScreenDiagonal ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                PrintDevice printObj = new PrintDevice("Canon", 4, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", "Китай");
                Skaner      skanObj  = new Skaner("CanoScan", 0, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", "Китай");
                Computer    compObj  = new Computer("Asus Vivobook", 8, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 2000, "Ультрабук");
                Tablet      tablObj  = new Tablet("Lenovo E5", 6, "-", 6.7, 1100, "Tab M10 (Lenovo)");

                Product[] Technic = new Product[] { printObj, skanObj, compObj, tablObj };

                try
                {
                    Console.WriteLine(Technic[5].Name);
                }
                catch (IndexOutOfRangeException ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                try
                {
                    object obj  = skanObj.Name;
                    int    name = (int)obj;
                }
                catch (InvalidCastException ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));

                try
                {
                    int problem = printObj.WorkingLife / skanObj.WorkingLife;
                }
                catch (DivideByZeroException ex)
                {
                    Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
                }
                Console.WriteLine(new string('~', 45));
            }
            catch (Exception ex)
            {
                Console.WriteLine($"{ex.Message}\n{ex.Source}\n{ex.StackTrace}");
            }
            finally
            {
                Console.WriteLine("End of try/catch blocks.");
            }

            Debug.Assert(true, "End of program.");
        }
コード例 #7
0
        static void Main(string[] args)
        {
            PrintDevice printObj = new PrintDevice("Canon", 5, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", 760, "Китай");
            Skaner      skanObj  = new Skaner("Canon CanoScan", 4, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", 550, "Китай");
            Computer    compObj  = new Computer("Asus Zenbook", 10, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 5", 1500, "Ультрабук");
            Tablet      tablObj  = new Tablet("Lenovo M10 Plus", 6, "-", 10.3, 990, "Tab M10 (Lenovo)");

            PrintDevice newPrintObj = new PrintDevice("Canon", 7, "Устройство PIXMA MG2540S «Все в одном» для ежедневной печати, сканирования и копирования.", 1030, "Китай");
            Skaner      newSkanObj  = new Skaner("Canon CanoScan", 6, "Легкий и компактный планшетный сканер формата A4 со стильным дизайном Canon CanoScan LiDE 300.", 660, "Китай");
            Computer    newCompObj  = new Computer("Asus Zenbook", 12, "Креативность, стиль, инновационность – эти качества воплощает новый ZenBook 14.", "AMD Ryzen 4", 1500, "Ультрабук");
            Tablet      newTablObj  = new Tablet("Legion", 8, "-", 14.2, 780, "Tab M10");

            Laboratory.Add(printObj);
            Laboratory.Add(skanObj);
            Laboratory.Add(compObj);
            Laboratory.Add(tablObj);
            Laboratory.Add(newPrintObj);
            Laboratory.Add(newSkanObj);
            Laboratory.Add(newCompObj);
            Laboratory.Add(newTablObj);


            compObj.Available();
            skanObj.Available();
            printObj.priceIncrease();

            Console.WriteLine(new string('=', 35));
            Console.WriteLine("Информация о имеющемся планшете: ");
            Console.WriteLine(tablObj.ToString());

            Console.WriteLine(new string('=', 35));
            Product prodObj = new Computer("Lenovo IdeaPad L3", 3, "Встречайте 15,6-дюймовый ноутбук Lenovo IdeaPad 3. Оснащенный передовым процессором Intel® Core™ 10-го поколения и дискретной видеокартой.", "Intel Core i3", 2200, "Универсальный");

            Laboratory.Add(prodObj);
            Console.WriteLine("Информация о новом товаре:");
            Console.WriteLine(prodObj.ToString());

            Console.WriteLine(new string('=', 35));
            Console.WriteLine(prodObj is Product ? "Объект prodObj является элементом класса Product" : "Объект prodObj не является элементом класса Product");
            Console.WriteLine(compObj is Device ? "Объект compObj является элементом класса Device" : "Объект compObj не является элементом класса Device");
            Console.WriteLine(tablObj is Skaner ? "Объект tablObj является элементом класса Device" : "Объект tablObj не является элементом класса Device");

            Console.WriteLine(new string('=', 35));
            var secProd = prodObj as Computer;

            if (secProd != null)
            {
                Console.WriteLine(secProd.ToString());
            }

            Console.WriteLine(new string('=', 35));
            compObj.Producer();
            compObj.GetDiscounts();
            tablObj.InfoAboutDiscounts();

            Console.WriteLine(new string('=', 35));
            Console.WriteLine("Вызываем класс IPrinter и метод IAmPrinting(): ");
            IPrinter printing = new IPrinter();

            Product[] ArrayTech = new Product[] { printObj, skanObj, tablObj };
            foreach (var tech in ArrayTech)
            {
                printing.IAmPrinting(tech);
                Console.ReadKey();
            }

            Console.WriteLine();
            Console.WriteLine(new string('=', 45));
            Console.WriteLine("============ Лабораторная №6 ============");
            Console.WriteLine(new string('=', 45));

            Laboratory.ShowList();
            Console.WriteLine("=== Поиск техники старше заданного срока службы ===");
            Controller.FindOldest(Laboratory.Equipment);
            Console.WriteLine(new string('=', 35));

            Console.WriteLine("=== Задание 1: Подсчитать количество каждого вида техники. ===");
            Controller.TechCounter(Laboratory.Equipment);
            Console.WriteLine(new string('=', 35));

            Console.WriteLine("=== Задание 2: Вывести список техники в порядке убывания цены. ===");
            Controller.PriceToMin(Laboratory.Equipment);
            Laboratory.ShowList();
            Console.WriteLine(new string('=', 35));

            Console.WriteLine();
            Console.WriteLine("Добавление нового объекта путём чтения данных из текстового файла: ");
            Product compObjFromFile = (Controller.ReadFromFile(Laboratory.Equipment));

            Console.WriteLine(compObjFromFile.ToString());
        }