Пример #1
0
    public static ComplexFigure CreateFreeFigure(Transform[] segments)
    {
        ComplexFigure figure = Instantiate(Resources.Load <GameObject> ("Prefabs/ComplexFigure")).GetComponent <ComplexFigure> ();

        Debug.Log("Created!");

        (figure.figureSegmentControl as GlobalFigureSegmentControl).ConcatSegments(segments);

        return(figure);
    }
Пример #2
0
    protected override void OnLineCreated(params int[] levels)
    {
        base.OnLineCreated(levels);

        int level = levels.Max();

        Transform[] segments = (figureSegmentControl as GlobalFigureSegmentControl).GetSegmentsArray().Where(s => s != null && s.position.ToVector2IntByFloor().y > level).ToArray();
        foreach (var segment in segments)
        {
            (figureSegmentControl as GlobalFigureSegmentControl).UnownSegment(segment);
        }

        ComplexFigure.CreateFreeFigure(segments);
    }
Пример #3
0
        static void Main(string[] args)
        {
            Menu menuFigures    = new Menu(9);
            Menu menuCalcTarget = new Menu(3);
            Menu menuNewCalc    = new Menu(2);

            SetMenuFigures(ref menuFigures);
            SetMenuCalcTarget(ref menuCalcTarget);
            SetMenuNewCalc(ref menuNewCalc);
            do
            {
                int n;
                n = CorrectInput("Введите количество фигур (не больше {0}): --->");
                if (n != 0)
                {
                    ComplexFigure figures = new ComplexFigure(n);
                    Clear();
                    for (int i = 0; i < n; i++)
                    {
                        TypeFigures typeFigures =
                            (TypeFigures)menuFigures.SelectOption("Выбор {0}-ой фигуры:", i);
                        switch (typeFigures)
                        {
                        case TypeFigures.Triangle:
                            figures[i] = new Triangle();
                            break;

                        case TypeFigures.Rhomb:
                            figures[i] = new Rhomb();
                            break;

                        case TypeFigures.Quadrate:
                            figures[i] = new Quadrate();
                            break;

                        case TypeFigures.Parallelogram:
                            figures[i] = new Parallelogram();
                            break;

                        case TypeFigures.Rectangle:
                            figures[i] = new Rectangle();
                            break;

                        case TypeFigures.Trapezium:
                            figures[i] = new Trapezium();
                            break;

                        case TypeFigures.Ellipse:
                            figures[i] = new Ellipse();
                            break;

                        case TypeFigures.Circle:
                            figures[i] = new Circle();
                            break;

                        case TypeFigures.Undefined:
                            figures = null;
                            break;
                        }
                        if (typeFigures != TypeFigures.Undefined)
                        {
                            WriteLine("************ Выбрана фигура: {0}. ", figures[i].NameFigure);
                            figures[i].InputData();
                            WriteLine(figures[i]);
                            figures[i].Draw(CursorLeft, CursorTop, ConsoleColor.Blue);
                        }
                    }
                    if (n != 1)
                    {
                        WriteLine("************ Составная фигура включает в себя : ");
                        foreach (IPoligon figure in figures)
                        //for (int j = 0; j < n; j++)
                        {
                            WriteLine(figure);
                            figure.Draw(CursorLeft, CursorTop, ConsoleColor.Blue);
                        }
                        WriteLine("************ Площадь и периметр составной фигуры: ");
                        WriteLine(figures);
                    }
                    ResetColor();
                    figures = null;
                }
            } while (menuNewCalc.SelectOption("Выбор дальнейшего действия:") == 1);
        }