Esempio n. 1
0
 protected virtual void SetLabelPosition()
 {
     targetPosition = GenerationMath.RandomPositionAround(
         GameControl.gameControl.PlayerInstance.CurrentPosition,
         GameControl.gameControl.BatBoundaries
         );
 }
Esempio n. 2
0
    //Возвращает три точки, нужные для построения квадратичной кривой Безье
    public QuadraticBezierCurve CreateQuadraticLineDots(Vector3 startPosition, Vector3 finishPosition, EnemyBoundaries boundaries)
    {
        QuadraticBezierCurve quadraticCurve = new QuadraticBezierCurve();

        quadraticCurve.p0 = startPosition;
        quadraticCurve.p1 = GenerationMath.RandomPositionOnCylinder(
            startPosition,
            Vector3.Distance(startPosition, finishPosition),
            boundaries);
        quadraticCurve.p2 = finishPosition;
        return(quadraticCurve);
    }
Esempio n. 3
0
    //Возвращает следующий сегмент квадратичной кривой Безье,
    //Зависящий от предыдущего
    public QuadraticBezierCurve NextDots(QuadraticBezierCurve oldSettings, Vector3 nextPosition, EnemyBoundaries boundaries)
    {
        QuadraticBezierCurve quadraticCurve = new QuadraticBezierCurve();

        quadraticCurve.p0 = oldSettings.p2;

        quadraticCurve.p2 = nextPosition;
        quadraticCurve.p1 = GenerationMath.RandomPositionInCylinder(
            quadraticCurve.p2,
            Vector3.Distance(quadraticCurve.p0, nextPosition),
            boundaries);
        return(quadraticCurve);
    }
Esempio n. 4
0
    //Возвращает следующий сегмент кубической кривой Безье,
    //Зависящий от предыдущего
    public CubicBezierCurve NextDots(CubicBezierCurve oldSettings, Vector3 nextPosition, EnemyBoundaries boundaries)
    {
        CubicBezierCurve cubicCurve = new CubicBezierCurve();

        cubicCurve.p0 = oldSettings.p3;
        cubicCurve.p1 = oldSettings.p2;

        cubicCurve.p3 = nextPosition;
        cubicCurve.p2 = GenerationMath.RandomPositionInCylinder(
            cubicCurve.p3,
            Vector3.Distance(cubicCurve.p0, nextPosition),
            boundaries);
        return(cubicCurve);
    }
Esempio n. 5
0
    public List <Bat> CreateObjectsRandomly(Vector3 centralPosition, EnemyBoundaries enemyParams)
    {
        List <Bat> createdObjects = new List <Bat>();

        for (int i = 0; i < enemyParams.EnemyCount; i++)
        {
            createdObjects.Add(Instantiate(
                                   generatedObjects [Random.Range(0, generatedObjects.Count)],
                                   GenerationMath.RandomPositionAround(centralPosition, enemyParams),
                                   parentObject.transform.rotation,
                                   parentObject.transform).GetComponent <Bat> ()
                               );
        }
        return(createdObjects);
    }
Esempio n. 6
0
    //Возвращает четыре точки, нужные для построения кубической кривой Безье
    public CubicBezierCurve CreateCubicLineDots(Vector3 startPosition, Vector3 finishPosition, EnemyBoundaries boundaries)
    {
        CubicBezierCurve cubicCurve = new CubicBezierCurve();

        cubicCurve.p0 = startPosition;
        cubicCurve.p1 = GenerationMath.RandomPositionInCylinder(
            startPosition,
            Vector3.Distance(startPosition, finishPosition),
            boundaries);
        cubicCurve.p3 = finishPosition;
        cubicCurve.p2 = GenerationMath.RandomPositionInCylinder(
            finishPosition,
            Vector3.Distance(startPosition, finishPosition),
            boundaries);
        return(cubicCurve);
    }