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);
        }
Esempio n. 2
0
    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();
    }