Example #1
0
    }                                                     //Тип ресурса, находящегося в залежах

    public Deposit(Vector3 Center, Resource Resource)
    {
        DepositResource = Resource;
        _Center         = Center;
        switch (DepositResource.Figure)
        {
        case DepositFigure.Ellips:
        {
            IsPointInFigure = Functions.IsCoordinatesIntoEllips;
            _Params         = new FigureParams(Random.Range(4, 7), Random.Range(4, 7), Random.Range(4, 7));
            break;
        }

        case DepositFigure.WideEllips:
        {
            IsPointInFigure = Functions.IsCoordinatesIntoEllips;
            _Params         = new FigureParams(Mathf.Pow(Random.Range(4, 7), Random.Range(2, 4)), Random.Range(4, 7), Mathf.Pow(Random.Range(4, 7), Random.Range(2, 4)));
            break;
        }

        case DepositFigure.Sphere:
        default:
        {
            IsPointInFigure = Functions.IsCoordinatesIntoASphere;
            _Params         = new FigureParams(Random.Range(4, 7));
            break;
        }
        }
        //Надо присваивать делегат в зависимости от параметров ресурса
    }
Example #2
0
        /// <summary>
        ///     Построить всю горку.
        /// </summary>
        /// <param name="iPart">Интерфейс компонента.</param>
        /// <param name="figureParams">Параметры фигуры.</param>
        public void Build(ksPart iPart, FigureParams figureParams)
        {
            _figureParams = figureParams;

            _iPart = iPart;

            const int slideThickness = 4;

            CreatePlatform();

            CreateStartSlide(slideThickness);

            CreateSlide(slideThickness);

            CreateEndSlide(slideThickness);

            CreateSlideBorder(slideThickness);

            CreatePillar(6, 60);

            CreateStairsBorder(15);

            CreateStairs();
        }
Example #3
0
 public static bool IsCoordinatesIntoEllips(Vector3 Coordinates, Vector3 EllipsCenter, FigureParams Parameters)
 {
     return
         (Mathf.Pow(Coordinates.x - EllipsCenter.x, 2) / Parameters.XScale +
          Mathf.Pow(Coordinates.y - EllipsCenter.y, 2) / Parameters.YScale +
          Mathf.Pow(Coordinates.z - EllipsCenter.z, 2) / Parameters.ZScale
          <= 1);
 }
Example #4
0
 public void InitContact()
 {
     _figureParams = new FigureParams();
 }
Example #5
0
 public static bool IsCoordinatesIntoASphere(Vector3 Coordinates, Vector3 SphereCenter, FigureParams Parameters)
 {
     return(Mathf.Pow(Coordinates.x - SphereCenter.x, 2) + Mathf.Pow(Coordinates.y - SphereCenter.y, 2) + Mathf.Pow(Coordinates.z - SphereCenter.z, 2) <= Parameters.Radius);
 }