protected virtual void SetLabelPosition() { targetPosition = GenerationMath.RandomPositionAround( GameControl.gameControl.PlayerInstance.CurrentPosition, GameControl.gameControl.BatBoundaries ); }
//Возвращает три точки, нужные для построения квадратичной кривой Безье 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); }
//Возвращает следующий сегмент квадратичной кривой Безье, //Зависящий от предыдущего 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); }
//Возвращает следующий сегмент кубической кривой Безье, //Зависящий от предыдущего 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); }
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); }
//Возвращает четыре точки, нужные для построения кубической кривой Безье 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); }