public IMovingTrajectory GetMovingTrajectory() { IMovingTrajectory movingTrajectory = null; switch (MovingType) { case MovingType.Circle: movingTrajectory = new MovingCircle(Center, Radius, CirclePeriod, CircleAngle); break; case MovingType.Linear: movingTrajectory = new MovingLine(FirstPosition, SecondPosition, LinearPeriod, LinearTime); break; case MovingType.Static: movingTrajectory = new MovingStatic(Position); break; } return(movingTrajectory); }
private void CreateMovingCircle() { GameObject circle; if (_stage % 5 == 0) { circle = Instantiate(bossPrefab[Random.Range(0, bossPrefab.Length)], startCirclePosition); } else { circle = Instantiate(circlePrefab, startCirclePosition); } circle.transform.DOMove(CircleTargetPosition.position, 0.1f).OnComplete((() => _circleLoad = true)); _activeCircle = circle.GetComponent <MovingCircle>(); if (_levelSetup.GetLevelInfo(_currentLevel).GetOrangeChance()) { _activeCircle.CreateOrange(); } _activeCircle.CreateKnifeObstacles(); }