Exemple #1
0
        /// <summary>
        /// Функция, которая возвращает класс, отвечающий за отображение
        /// </summary>
        /// <param name="Variable"></param>
        /// <param name="ScaleManager"></param>
        /// <returns></returns>
        public static SignalViewBase GetSignalViewer(My_Variable Variable, ScaleManager ScaleManager)
        {
            ModellingType type = Variable.Signal.Type;

            if (type.Type is IntegerType)
            {
                return(new INTEGER_View(Variable.Signal.Dump as SimpleSignalDump, ScaleManager));
            }
            if (type.Type is RealType)
            {
                return(new Real_View(Variable.Signal.Dump as SimpleSignalDump, ScaleManager));
            }
            if (type.Type == VHDL.builtin.StdLogic1164.STD_ULOGIC)
            {
                return(new STD_LOGIC_View(Variable.Signal.Dump as SimpleSignalDump, ScaleManager));
            }
            if (type.Type == VHDL.builtin.StdLogic1164.STD_ULOGIC_VECTOR)
            {
                return(new STD_LOGIC_VECTOR_View(Variable.Signal.Dump as SignalScopeDump, ScaleManager));
            }
            if (type.Type == VHDL.builtin.StdLogic1164.STD_LOGIC_VECTOR)
            {
                return(new STD_LOGIC_VECTOR_View(Variable.Signal.Dump as SignalScopeDump, ScaleManager));
            }
            if (type.Type is RecordType)
            {
                return(new CompositeDataTypeView(Variable.Signal.Dump as SignalScopeDump, ScaleManager));
            }
            if (type.Type is ArrayType)
            {
                return(new CompositeDataTypeView(Variable.Signal.Dump as SignalScopeDump, ScaleManager));
            }
            return(null);
        }
 void OnGUI()
 {
     if (canShow)
     {
         GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(10, 10, HUDTexture.width, HUDTexture.height)), HUDTexture);
     }
 }
Exemple #3
0
        public PrefSettings()
        {
            StringSpacing                   = 10;
            NumberFrets                     = 24;
            MarkerSize                      = 8;
            ZoomLevelDefault                = 2F;
            BackgroundImageFileName         = "";
            IsDebugMode                     = true;
            EnableDiagramBackgroundImage    = false;
            EnableFretboardBackgroundFill   = false;
            EnableFretNumbers               = true;
            EnableDiagramFingering          = false;
            EnableDiagramStrings            = true;
            EnableDiagramNoteNames          = true;
            EnableDiagramNoteSequence       = false;
            EnableDiagramScaleIntervals     = false;
            EnableDiagramNoteNamesSharp     = true;
            EnableDiagramHighQuality        = true;
            EnableNoteColours               = true;
            EnableDisplacedFingeringMarkers = true;
            EnableDiagramTitle              = true;

            TuningManager = new TuningManager();
            CurrentTuning = new GuitarTuning();
            ScaleManager  = new ScaleManager();
        }
    void OnGUI()
    {
        if (GUI.Button(ScaleManager.GetScaledRect(new Rect(englishButtonLeft, englishButtonTop, englishButtonWidth, englishButtonHeight)),
                       "English"))
        {
            DialogScript.language = DialogScript.Language.ENGLISH;
            StartCoroutine(LoadNextScene());
        }

        if (GUI.Button(ScaleManager.GetScaledRect(new Rect(spanishButtonLeft, spanishButtonTop, spanishButtonWidth, spanishButtonHeight)),
                       "Español"))
        {
            DialogScript.language = DialogScript.Language.SPANISH;
            StartCoroutine(LoadNextScene());
        }

        if (GUI.Button(ScaleManager.GetScaledRect(new Rect(portugueseButtonLeft, portugueseButtonTop, portugueseButtonWidth, portugueseButtonHeight)),
                       "Portugueis"))
        {
            DialogScript.language = DialogScript.Language.PORTUGUESE;
            StartCoroutine(LoadNextScene());
        }

        GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(0, 0, backgroundImage.width, backgroundImage.height)), backgroundImage);
    }
Exemple #5
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
 }
Exemple #6
0
        private void InitializeScale()
        {
            txtTitle.Text = _title;

            _scaleManager = new ScaleManager(
                WeightArrived,
                FinalWeightArrived);
            _scaleManager.StartListening();
        }
Exemple #7
0
        public My_VariableBindingData(My_Variable variable, WaveformCore core, ScaleManager scaleManager, CursorViewer cursorViewer)
        {
            this.variable     = variable;
            this.cursorViewer = cursorViewer;
            this.core         = core;
            this.scaleManager = scaleManager;

            //Реакция на изменение переменной
            variable.PropertyChanged += new PropertyChangedEventHandler(variable_PropertyChanged);
        }
Exemple #8
0
        public void Draw(ICanvasAnimatedControl sender, CanvasAnimatedDrawEventArgs args)
        {
            base.Draw();
            switch (StateManager.CurrentState)
            {
            case StateManager.GameState.Starting:
                args.DrawingSession.DrawImage(ScaleManager.Scale(StartScreen));
                return;

            case StateManager.GameState.Playing:
                foreach (var tile in Board.Tiles)
                {
                    if (tile == null)
                    {
                        continue;
                    }

                    if (tile.GetType() == typeof(Food))
                    {
                        args.DrawingSession.DrawImage(Food.CanvasBitmap, Board.GetRectangle(tile, ScaleManager.Scale(BoardSize)));
                    }
                    else if (tile.GetType() == typeof(SnakeSegment))
                    {
                        var rect  = Board.GetRectangle(tile, ScaleManager.Scale(BoardSize));
                        var color = ((SnakeSegment)tile).Color;
                        args.DrawingSession.FillRectangle(rect, color);
                        var distanceFromFood = Math.Sqrt(Math.Pow(Food.Position.X - Snake.Segments[0].Position.X, 2) + Math.Pow(Food.Position.Y - Snake.Segments[0].Position.Y, 2));

                        switch (Snake.Direction)
                        {
                        case Enums.Direction.Left:
                            args.DrawingSession.DrawImage(distanceFromFood < 3 ? HeadEatLeft : HeadLeft, Board.GetRectangle(Snake.Segments[0], ScaleManager.Scale(BoardSize)));
                            break;

                        case Enums.Direction.Up:
                            args.DrawingSession.DrawImage(distanceFromFood < 3 ? HeadEatUp : HeadUp, Board.GetRectangle(Snake.Segments[0], ScaleManager.Scale(BoardSize)));
                            break;

                        case Enums.Direction.Right:
                            args.DrawingSession.DrawImage(distanceFromFood < 3 ? HeadEatRight : HeadRight, Board.GetRectangle(Snake.Segments[0], ScaleManager.Scale(BoardSize)));
                            break;

                        case Enums.Direction.Down:
                            args.DrawingSession.DrawImage(distanceFromFood < 3 ? HeadEatDown : HeadDown, Board.GetRectangle(Snake.Segments[0], ScaleManager.Scale(BoardSize)));
                            break;
                        }
                    }
                }
                return;

            case StateManager.GameState.Finished:
                args.DrawingSession.DrawImage(ScaleManager.Scale(FinishScreen));
                return;
            }
        }
Exemple #9
0
    private void Awake()
    {
        if (instance != null)
        {
            Destroy(this);
        }

        instance = this;

        _camera = Camera.main;
    }
Exemple #10
0
        public void DrawValue(Canvas canvas, UInt64 start, UInt64 end, ScaleManager manager, string value)
        {
            double d_start = scaleManager.GetOffset(start);
            double d_end   = scaleManager.GetOffset(end);

            if (start == end)
            {
                return;
            }

            AddBusElement(canvas, d_start, d_end, Brushes.Chocolate, Brushes.Transparent, 2, value);
        }
Exemple #11
0
    void Awake()
    {
        self = this;

        ground_prefab      = Resources.Load <GameObject>("prefabs/Ground");
        texture            = GameObject.Find("Texture");
        fixed_background   = GameObject.Find("FixedBackground");
        grounds            = GameObject.Find("Grounds");
        main_camera        = Camera.main;
        ground_offset      = ground_prefab.GetComponent <BoxCollider2D> ().size *(Vector2)ground_prefab.transform.lossyScale / 2;
        camera_normal_size = main_camera.orthographicSize;
        camera_size        = camera_normal_size;

        player = GameObject.Find("Player");
    }
Exemple #12
0
        static void TestScale()
        {
            var db           = new Entities();
            var cita         = db.citas.First();
            var scaleManager = new ScaleManager();

            try
            {
                scaleManager.Registrar(cita);
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }
        }
Exemple #13
0
    void Start()
    {
        //Directory.CreateDirectory(Application.streamingAssetsPath + "/Test");
        modelManager    = ModelManager.Instance;
        rotationManager = RotationManager.Instance;
        positionManager = PositionManager.Instance;
        scaleManager    = ScaleManager.Instance;

        modelManager.SetModels(ModelDownloader.DownloadModels(inputDirectoryPath, startPoint, parentOfmodels, defaultMaterial));
        if (clearOutputFolder)
        {
            ScreenshotUploader.ClearFolder(outputDirectoryPath);
        }
        ModelObject modelObj = modelManager.GetCurrentModelObject();

        rotationManager.SetCurrentModel(modelObj.gameObject);
        positionManager.SetCurrentModel(modelObj.gameObject);
        scaleManager.SetCurrentModel(modelObj.gameObject);
    }
Exemple #14
0
        /// <summary>
        /// Добавление на канвас "серой" области
        /// </summary>
        /// <param name="canvas"></param>
        /// <param name="X1"></param>
        /// <param name="X2"></param>
        /// <param name="manager"></param>
        protected static void AddWhitespace(Canvas canvas, double X1, double X2, ScaleManager manager)
        {
            if (X2 <= X1)
            {
                return;
            }

            double d_start = manager.GetOffset((UInt64)X1);
            double d_end   = manager.GetOffset((UInt64)X2);

            Rectangle rect = new Rectangle();

            rect.Stroke = new SolidColorBrush(Colors.Green);
            rect.Fill   = new SolidColorBrush(Color.FromArgb(100, 125, 125, 125));
            rect.Width  = d_end - d_start;
            rect.Height = (canvas.ActualHeight != 0) ? canvas.ActualHeight - 4 : 4;

            canvas.Children.Add(rect);
            Canvas.SetLeft(rect, d_start);
            Canvas.SetBottom(rect, 2);
        }
    // Use this for initialization
    void Start()
    {
        timeManager          = this.GetComponent <TimeManager>();
        initializeController = this.GetComponent <InitializeController>();
        scaleManager         = this.GetComponent <ScaleManager>();
        resignController     = this.GetComponent <ResignController>();

        activeCamera = player1Camera;

        _gameState
        .Subscribe(state =>
        {
            _disposables.Clear();
            print(state);
            GameStateChanged(state);
        })
        .AddTo(this);

        _playerTurn
        .Subscribe(turn =>
        {
            if (turn == 1)
            {
                player1Camera.SetActive(true);
                player2Camera.SetActive(false);

                activeCamera = player1Camera;
            }
            else if (turn == 2)
            {
                player1Camera.SetActive(false);
                player2Camera.SetActive(true);

                activeCamera = player2Camera;
            }
        })
        .AddTo(this);
    }
    //GUI on screen drawing
    void OnGUI()
    {
        if (_inScene)
        {
            //Background rect
            GUI.DrawTexture(ScaleManager.GetScaledRect(dialog), dialogPlaceHolder);

            //TextBox
            if (textPlaceHolder != null)
            {
                GUI.DrawTexture(ScaleManager.GetScaledRect(text), textPlaceHolder);
            }

            //Icon
            if (_showIcon)
            {
                GUI.DrawTexture(ScaleManager.GetScaledRect(icon), iconPlaceHolder);
            }
            //Image
            GUI.DrawTexture(ScaleManager.GetScaledRect(image), imagePlaceHolder);
            //Text
            GUI.Label(ScaleManager.GetScaledRect(text), _printedPhrase, textStyle);

            //Skip button
            if (skipEnabled)
            {
                Rect localizedSkip = skipButton;
                localizedSkip.y += dialog.y;
                if (GUI.Button(ScaleManager.GetScaledRect(localizedSkip), "skip"))
                {
                    EndScene();
                }
                GUI.DrawTexture(ScaleManager.GetScaledRect(localizedSkip), skipImage);
            }
        }
    }
Exemple #17
0
 private void Awake()
 {
     scaleManager = FindObjectOfType <ScaleManager>();
     mass         = earths * scaleManager.GetMass(); //Set mass in kg
 }
 void Start()
 {
     instance = this;
 }
Exemple #19
0
 public abstract void DrawValue(Canvas canvas, UInt64 start, UInt64 end, ScaleManager manager, string value);
Exemple #20
0
 public SimpleSignalViewBase(SimpleSignalDump data, ScaleManager scaleManager)
     : base(data, scaleManager)
 {
 }
 public BusViewBase(SignalScopeDump data, ScaleManager scaleManager)
     : base(data, scaleManager)
 {
 }
    /// <summary>
    /// REFACTOR
    /// </summary>
    void OnGUI()
    {
        GUI.skin = skin;
        GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), backgroundTexture, ScaleMode.ScaleToFit);

        //GUI.Label(new Rect(0,0,300,100), _labelText);


        //BUTTON 1
        Rect button1Rect = ScaleManager.GetScaledRect(new Rect(100, 164, button1Texture.width, button1Texture.height));

        if (!_confirmDelete)
        {
            if (GUI.Button(button1Rect, button1Texture))
            {
                if (!_eraseToggle)
                {
                    selectionRect = button1Rect;
                    StartCoroutine(SetProfile(0));
                }
                else
                {
                    ConfirmDeleteProfile(0);
                }
            }
        }
        GUI.DrawTexture(button1Rect, button1Texture, ScaleMode.ScaleToFit);
        //Numbers
        if (_profileCreditCount != null)
        {
            int units = (_profileCreditCount.Count > 0 ? _profileCreditCount[0] / 10 : 0);

            GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(100 + horizontalCreditCountUnitOffset - numbers[units].width + 4,
                                                                164 + verticalCreditCountUnitOffset,
                                                                numbers[units].width,
                                                                numbers[units].height)),
                            numbers[units], ScaleMode.ScaleToFit);
        }
        if (_profileCreditCount != null)
        {
            int units = (_profileCreditCount.Count > 0 ? _profileCreditCount[0] % 10 : 0);

            GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(100 + horizontalCreditCountUnitOffset,
                                                                164 + verticalCreditCountUnitOffset,
                                                                numbers[units].width,
                                                                numbers[units].height)),
                            numbers[units], ScaleMode.ScaleToFit);
        }

        //BUTTON 2
        Rect button2Rect = ScaleManager.GetScaledRect(new Rect(100, 244, button2Texture.width, button2Texture.height));

        if (!_confirmDelete)
        {
            if (GUI.Button(button2Rect, button2Texture))
            {
                if (!_eraseToggle)
                {
                    selectionRect = button2Rect;
                    StartCoroutine(SetProfile(1));
                }
                else
                {
                    ConfirmDeleteProfile(1);
                }
            }
        }
        GUI.DrawTexture(button2Rect, button2Texture, ScaleMode.ScaleToFit);
        //Numbers
        if (_profileCreditCount != null)
        {
            int units = (_profileCreditCount.Count > 1 ? _profileCreditCount[1] / 10 : 0);

            GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(100 + horizontalCreditCountUnitOffset - numbers[units].width + 4,
                                                                244 + verticalCreditCountUnitOffset,
                                                                numbers[units].width,
                                                                numbers[units].height)),
                            numbers[units], ScaleMode.ScaleToFit);
        }
        if (_profileCreditCount != null)
        {
            int units = (_profileCreditCount.Count > 1 ? _profileCreditCount[1] % 10 : 0);

            GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(100 + horizontalCreditCountUnitOffset,
                                                                244 + verticalCreditCountUnitOffset,
                                                                numbers[units].width,
                                                                numbers[units].height)),
                            numbers[units], ScaleMode.ScaleToFit);
        }


        //BUTTON 3
        Rect button3Rect = ScaleManager.GetScaledRect(new Rect(100, 324, button3Texture.width, button3Texture.height));

        if (!_confirmDelete)
        {
            if (GUI.Button(button3Rect, button3Texture))
            {
                if (!_eraseToggle)
                {
                    selectionRect = button3Rect;
                    StartCoroutine(SetProfile(2));
                }
                else
                {
                    ConfirmDeleteProfile(2);
                }
            }
        }
        GUI.DrawTexture(button3Rect, button3Texture, ScaleMode.ScaleToFit);
        //Numbers
        if (_profileCreditCount != null)
        {
            int units = (_profileCreditCount.Count > 2 ? _profileCreditCount[2] / 10 : 0);

            GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(100 + horizontalCreditCountUnitOffset - numbers[units].width + 4,
                                                                324 + verticalCreditCountUnitOffset,
                                                                numbers[units].width,
                                                                numbers[units].height)),
                            numbers[units], ScaleMode.ScaleToFit);
        }
        if (_profileCreditCount != null)
        {
            int units = (_profileCreditCount.Count > 2 ? _profileCreditCount[2] % 10 : 0);

            GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(100 + horizontalCreditCountUnitOffset,
                                                                324 + verticalCreditCountUnitOffset,
                                                                numbers[units].width,
                                                                numbers[units].height)),
                            numbers[units], ScaleMode.ScaleToFit);
        }

        //Blink over selection
        if (_showSelection)
        {
            GUI.DrawTexture(selectionRect, blankSelection, ScaleMode.ScaleToFit);
        }


        //Erase button
        if (!_confirmDelete)
        {
            if (GUI.Button(ScaleManager.GetScaledRect(new Rect(eraseHPosition, eraseVPosition, eraseOff.width, eraseOff.height - 2)),
                           eraseOff))
            {
                audioSource.PlayOneShot(eraseButton);
                _eraseToggle = !_eraseToggle;
            }
        }
        if (!_eraseToggle)
        {
            GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(eraseHPosition, eraseVPosition, eraseOff.width, eraseOff.height)),
                            eraseOff, ScaleMode.ScaleToFit);
        }
        else
        {
            GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(eraseHPosition, eraseVPosition, eraseOn.width, eraseOn.height)),
                            eraseOn, ScaleMode.ScaleToFit);
        }


        //Confirmation dialog
        if (_confirmDelete)
        {
            if (!_doBlink)
            {
                if (_showConfirmationButtons)
                {
                    if (GUI.Button(ScaleManager.GetScaledRect(new Rect(yesButtonPosition.x,
                                                                       yesButtonPosition.y, confirmationButtonDimensions.x, confirmationButtonDimensions.y)),
                                   "YES"))
                    {
                        _confirmAnswer = true;
                        audioSource.PlayOneShot(confirmYes);
                        StartCoroutine(DoBlink());
                    }
                    if (GUI.Button(ScaleManager.GetScaledRect(new Rect(noButtonPosition.x,
                                                                       noButtonPosition.y, confirmationButtonDimensions.x, confirmationButtonDimensions.y)),
                                   "NO"))
                    {
                        _confirmAnswer = false;
                        audioSource.PlayOneShot(confirmNo);
                        StartCoroutine(DoBlink());
                    }
                }

                GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(confirmationPosition.x,
                                                                    confirmationPosition.y, confirmationClean.width, confirmationClean.height)),
                                confirmationClean, ScaleMode.ScaleToFit);
            }
            else
            {
                if (_confirmAnswer)
                {
                    GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(confirmationPosition.x,
                                                                        confirmationPosition.y, confirmationYes.width, confirmationYes.height)),
                                    confirmationYes, ScaleMode.ScaleToFit);
                }
                else
                {
                    GUI.DrawTexture(ScaleManager.GetScaledRect(new Rect(confirmationPosition.x,
                                                                        confirmationPosition.y, confirmationNo.width, confirmationNo.height)),
                                    confirmationNo, ScaleMode.ScaleToFit);
                }
            }
        }
    }
Exemple #23
0
 public SignalViewBase(AbstractSignalDump data, ScaleManager scaleManager)
 {
     this.data         = data;
     this.scaleManager = scaleManager;
     markers           = new List <TimeMarker>();
 }
 public void DrawValue(Canvas canvas, ulong start, ulong end, ScaleManager manager, string value)
 {
     AddBusElement(canvas, scaleManager.GetOffset(start), scaleManager.GetOffset(end), Brushes.Green, Brushes.Transparent, 2, value);
 }
 public STD_LOGIC_View(SimpleSignalDump data, ScaleManager scaleManager)
     : base(data, scaleManager)
 {
     prevValue        = 0;
     drawVerticalLine = false;
 }
Exemple #26
0
 public STD_LOGIC_VECTOR_View(SignalScopeDump data, ScaleManager scaleManager)
     : base(data, scaleManager)
 {
 }
Exemple #27
0
 public INTEGER_View(SimpleSignalDump data, ScaleManager scaleManager)
     : base(data, scaleManager)
 {
 }
        public override void DrawValue(Canvas canvas, UInt64 start, UInt64 end, ScaleManager manager, string value)
        {
            double d_start = scaleManager.GetOffset(start);
            double d_end   = scaleManager.GetOffset(end);

            if (start == end)
            {
                return;
            }

            switch (value)
            {
            case "1":
                if (drawVerticalLine == true)
                {
                    AddVerticalLine(canvas, d_start, prevValue, 2);
                }
                AddLine(canvas, d_start, d_end, prevValue = 2, Brushes.Black, 1);
                drawVerticalLine = true;
                break;

            case "0":
                if (drawVerticalLine == true)
                {
                    AddVerticalLine(canvas, d_start, prevValue, canvas.ActualHeight - 2);
                }
                AddLine(canvas, d_start, d_end, prevValue = canvas.ActualHeight - 2, Brushes.Black, 1);
                drawVerticalLine = true;
                break;

            case "U":
                AddRectangle(canvas, d_start, d_end, Brushes.Red, Brushes.Transparent, 1, "U");
                drawVerticalLine = false;
                break;

            case "X":
                AddRectangle(canvas, d_start, d_end, Brushes.Red, Brushes.Transparent, 1, "X");
                drawVerticalLine = false;
                break;

            case "Z":
                if (drawVerticalLine == true)
                {
                    AddVerticalLine(canvas, d_start, prevValue, (canvas.ActualHeight - 2) / 2);
                }
                AddLine(canvas, d_start, d_end, prevValue = (canvas.ActualHeight - 2) / 2, Brushes.LightGray, 1);
                drawVerticalLine = true;
                break;

            case "L":
                if (drawVerticalLine == true)
                {
                    AddVerticalLine(canvas, d_start, prevValue, canvas.ActualHeight - 2);
                }
                AddLine(canvas, d_start, d_end, prevValue = canvas.ActualHeight - 2, Brushes.Purple, 1);
                drawVerticalLine = true;
                break;

            case "H":
                if (drawVerticalLine == true)
                {
                    AddVerticalLine(canvas, d_start, prevValue, 2);
                }
                AddLine(canvas, d_start, d_end, prevValue = 2, Brushes.Pink, 1);
                drawVerticalLine = true;
                break;

            case "W":
                if (drawVerticalLine == true)
                {
                    AddVerticalLine(canvas, d_start, prevValue, (canvas.ActualHeight - 2) / 2);
                }
                AddLine(canvas, d_start, d_end, prevValue = (canvas.ActualHeight - 2) / 2, Brushes.Green, 1);
                drawVerticalLine = true;
                break;
            }
        }
Exemple #29
0
        public override void DrawValue(Canvas canvas, ulong start, ulong end, ScaleManager manager, string value)
        {
            Brush stroce = (value.Contains('X') || value.Contains('U')) ? Brushes.Red : Brushes.Black;

            AddBusElement(canvas, scaleManager.GetOffset(start), scaleManager.GetOffset(end), stroce, Brushes.Transparent, 1, value);
        }
 public CompositeDataTypeView(SignalScopeDump data, ScaleManager scaleManager)
     : base(data, scaleManager)
 {
 }