// startangle : 시작 각도, startradius : 시작 반지름, MoveTime : 움직이는 시간
    public void OnActive(float StartAngle, float StartRadius, float MoveTime)
    {
        gameObject.SetActive(true);
        _radius = StartRadius;
        _angle  = StartAngle;

        _radiusMoveTime = MoveTime;
        _isMoveFalg     = true;

        //Temporal.
        transform.localScale = new Vector3(.5f, .5f, 1f);

        DOTween.To(() => _radius, x => _radius = x, 0f, _radiusMoveTime).SetEase(Ease.Linear).OnComplete(() =>
        {
            _isMoveing = false;

            gameObject.SetActive(false);
            _radius = 10000f;

            GameManager.GetInstance().PlayBulletEndFX();
            GameManager.GetInstance().SetLevelProgeress();
            BulletPattenManager.GetInstance().CreateNewPattern();
        }).OnUpdate(() =>
        {
            Vector3 vPos = Vector3.zero;


            vPos.x = (_radius) * (float)Mathf.Cos(Mathf.Deg2Rad * _angle);
            vPos.y = (_radius) * (float)Mathf.Sin(Mathf.Deg2Rad * _angle);
            vPos.z = 0f;

            transform.localPosition = vPos;
        });
    }
Пример #2
0
    public static BulletPattenManager GetInstance()
    {
        if (!instance)
        {
            instance = GameObject.FindObjectOfType(typeof(BulletPattenManager)) as BulletPattenManager;
            if (!instance)
            {
                Debug.LogError("There needs to be one active MyClass script on a GameObject in your scene.");
            }
        }

        return(instance);
    }
Пример #3
0
 public void OnGameStart()
 {
     Debug.Log("Game Start.");
     BulletPattenManager.GetInstance().CreateNewPattern();
     audio_MainBGM.Play();
 }
Пример #4
0
 private void StartNextPattern()
 {
     BulletPattenManager.GetInstance().CreateNewPattern();
     LevelCnt = 1;
 }