public void ResetDisplay()
        {
            Result = GoalKeeperBodyEnum.None;

            foreach (var ellipse in all_ellipses)
            {
                SetActiveEllipse(ellipse, false);
            }
        }
        private void Ellipse_OnMouseDown(object sender, MouseButtonEventArgs e)
        {
            var ellipse = sender as Ellipse;

            if (ellipse == null)
            {
                return;
            }

            var ellipseName = ellipse.Name;

            Ellipse selected_ellipse = null;

            switch (ellipseName)
            {
            case "right_shoulder":
                selected_ellipse = right_shoulder;
                Result           = GoalKeeperBodyEnum.RightShoulder;
                break;

            case "left_shoulder":
                selected_ellipse = left_shoulder;
                Result           = GoalKeeperBodyEnum.LeftShoulder;
                break;

            case "trap":
                selected_ellipse = trap;
                Result           = GoalKeeperBodyEnum.Trap;
                break;

            case "stick_top":
                selected_ellipse = stick_top;
                Result           = GoalKeeperBodyEnum.StickTop;
                break;

            case "body":
                selected_ellipse = body;
                Result           = GoalKeeperBodyEnum.Body;
                break;

            case "podyshka":
                selected_ellipse = podyshka;
                Result           = GoalKeeperBodyEnum.Podyshka;
                break;

            case "right_shit":
                selected_ellipse = right_shit;
                Result           = GoalKeeperBodyEnum.RightShit;
                break;

            case "left_shit":
                selected_ellipse = left_shit;
                Result           = GoalKeeperBodyEnum.LeftShit;
                break;

            case "right_top_shield":
                selected_ellipse = right_top_shield;
                Result           = GoalKeeperBodyEnum.RightTopShield;
                break;

            case "left_top_shield":
                selected_ellipse = left_top_shield;
                Result           = GoalKeeperBodyEnum.LeftTopShield;
                break;

            case "right_mid_shield":
                selected_ellipse = right_mid_shield;
                Result           = GoalKeeperBodyEnum.RightMidShield;
                break;

            case "left_mid_shield":
                selected_ellipse = left_mid_shield;
                Result           = GoalKeeperBodyEnum.LeftMidShield;
                break;

            case "right_bot_shield":
                selected_ellipse = right_bot_shield;
                Result           = GoalKeeperBodyEnum.RightBotShield;
                break;

            case "left_bot_shield":
                selected_ellipse = left_bot_shield;
                Result           = GoalKeeperBodyEnum.LeftBotShield;
                break;

            case "stick_bot":
                selected_ellipse = stick_bot;
                Result           = GoalKeeperBodyEnum.StickBot;
                break;

            default:
                break;
            }

            if (selected_ellipse == null)
            {
                return;
            }

            SetEllipsesActivities(selected_ellipse);
        }
        public void ForseSetValue(GoalKeeperBodyEnum value)
        {
            Result = value;

            Ellipse selected_ellipse = null;

            switch (value)
            {
            case GoalKeeperBodyEnum.None:
                break;

            case GoalKeeperBodyEnum.RightShoulder:
                selected_ellipse = right_shoulder;
                break;

            case GoalKeeperBodyEnum.LeftShoulder:
                selected_ellipse = left_shoulder;
                break;

            case GoalKeeperBodyEnum.Trap:
                selected_ellipse = trap;
                break;

            case GoalKeeperBodyEnum.Podyshka:
                selected_ellipse = podyshka;
                break;

            case GoalKeeperBodyEnum.Body:
                selected_ellipse = body;
                break;

            case GoalKeeperBodyEnum.RightTopShield:
                selected_ellipse = right_top_shield;
                break;

            case GoalKeeperBodyEnum.RightMidShield:
                selected_ellipse = right_mid_shield;
                break;

            case GoalKeeperBodyEnum.RightBotShield:
                selected_ellipse = right_bot_shield;
                break;

            case GoalKeeperBodyEnum.LeftTopShield:
                selected_ellipse = left_top_shield;
                break;

            case GoalKeeperBodyEnum.LeftMidShield:
                selected_ellipse = left_mid_shield;
                break;

            case GoalKeeperBodyEnum.LeftBotShield:
                selected_ellipse = left_bot_shield;
                break;

            case GoalKeeperBodyEnum.StickTop:
                selected_ellipse = stick_top;
                break;

            case GoalKeeperBodyEnum.StickBot:
                selected_ellipse = stick_bot;
                break;

            case GoalKeeperBodyEnum.RightShit:
                selected_ellipse = right_shit;
                break;

            case GoalKeeperBodyEnum.LeftShit:
                selected_ellipse = left_shit;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(value), value, null);
            }

            SetEllipsesActivities(selected_ellipse);
        }