示例#1
0
    protected override void Move(int _shooterNum)
    {
        warningSquare = FavoriteFunction.WarningSquare(transform.position, 1f, 10f);
        warningSquare.transform.localScale = new Vector3(30f, 0.75f, 1f);

        StartCoroutine(MoveCircle());
    }
示例#2
0
    protected override void Move(int _shooterNum)
    {
        irisBullet2Num_Temp = bulNum;

        Debug.Log("Move : " + irisBullet2Num_Temp);

        speed = 8f;

        rotatingAngle += (irisBullet2Num_Temp * (3.14f / 18f));

        DVector        = FavoriteFunction.VectorCalc(gameObject, oNum);
        rotatingAngle += DVector.y > 0 ? Vector3.AngleBetween(DVector, Vector3.right) : -Vector3.AngleBetween(DVector, Vector3.right);

        if (_shooterNum == 1)
        {
            transform.Rotate(0f, 0f, 0f);
        }

        else
        {
            transform.Rotate(0f, 180f, 0f);
        }

        Vector3 dVector_Temp = DVector;

        dVector_Temp.x = Mathf.Cos(rotatingAngle);
        dVector_Temp.y = Mathf.Sin(rotatingAngle);

        dVector_Temp.Normalize();

        rgbd.velocity = dVector_Temp * speed;
    }
示例#3
0
 void Start()
 {
     FavoriteFunction.ObjectRotation(directionVector, gameObject);
     bSpd           = 0.5f;
     start_position = transform.position;
     skill3_bullet  = Resources.Load("Characters/Diana/Bullet/Diana_skill3_bullet_Child") as GameObject;
 }
    void Start()
    {
        bSpd = 0.8f;
        FavoriteFunction.ObjectRotation(directionVector, gameObject);

        AutoDestroy();
    }
    IEnumerator WarningAttack_IrisSkill4()
    {
        Bullet bul;

        warningSquare = FavoriteFunction.WarningSquare(transform.position, 1f, 1f);
        warningSquare.transform.localScale = new Vector3(30f, 0.25f, 1f);

        DVector = FavoriteFunction.VectorCalc(gameObject, oNum);
        DVector.Normalize();

        rotatingAngle = DVector.y > 0 ? Vector3.Angle(DVector, Vector3.right) : -Vector3.Angle(DVector, Vector3.right);
        warningSquare.transform.Rotate(Vector3.forward, rotatingAngle);

        bul = PhotonNetwork.Instantiate("TargetStatic", PlayerManager.instance.GetPlayerByNum(oNum).transform.position, Quaternion.identity, 0).GetComponent <Bullet>();
        bul.Init(shooterNum);

        PhotonView view = bul.gameObject.GetComponent <PhotonView>();

        yield return(new WaitForSeconds(0.5f + (bulNum * 0.1f)));

        Destroy(warningSquare);

        if (PlayerManager.instance.GetPlayerByNum(shooterNum) == PlayerManager.instance.Local)
        {
            bul = PhotonNetwork.Instantiate
                      ("Iris_Skill4Line", transform.position, Quaternion.identity, 0).GetComponent <Bullet>();
            bul.Init(shooterNum, view.viewID);

            DestroyToServer();
        }
    }
示例#6
0
    // Use this for initialization
    void Start()
    {
        directionVector = FavoriteFunction.VectorCalculator(pNum_Bullet, transform);
        FavoriteFunction.ObjectRotation(directionVector, gameObject);

        StartCoroutine(Move_IrisSkil4Bullet());
    }
示例#7
0
 void Start()
 {
     directionVector = new Vector3(FavoriteFunction.VectorCalculator(pNum_Bullet, transform).x, 0f, 0f).normalized;    //총알의 방향 : 직선
     bSpd            = 0.5f;
     FavoriteFunction.ObjectRotation(directionVector, gameObject);
     start_position = transform.position;
     skill3_bullet  = Resources.Load("Characters/Diana/Bullet/Diana_skill3_bullet") as GameObject;
 }
    // Use this for initialization
    void Start()
    {
        directionVector = FavoriteFunction.VectorCalculator(pNum_Bullet, transform);      //총알의 방향 : 쏘는 순간의 상대의 위치로
        bSpd            = 30f;
        FavoriteFunction.ObjectRotation(directionVector, gameObject);

        AutoDestroy();
    }
 protected override void Move(int _shooterNum)
 {
     DVector = FavoriteFunction.VectorCalc(gameObject, oNum);
     FavoriteFunction.RotateBullet(gameObject);
     speed         = 6f;
     rgbd.velocity = DVector * speed;
     StartCoroutine(shooterBullet());
 }
    // Use this for initialization
    void Start()
    {
        directionVector = FavoriteFunction.VectorCalculator(pNum_Bullet, transform);
        bSpd            = 60f; // 20의 속도  10의 속도 = 30f
        FavoriteFunction.ObjectRotation(directionVector, gameObject);

        AutoDestroy();
    }
示例#11
0
 protected override void Move(int _shooterNum)
 {
     start_position = transform.position;
     speed          = 10000;
     DVector        = commuObject.GetComponent <Bullet> ().DVector;
     FavoriteFunction.RotateBullet(gameObject);
     rgbd.velocity = DVector * speed;
     StartCoroutine(stay());
 }
    protected override void Move(int _shooterNum)
    {
        oPosition = PlayerManager.instance.GetPlayerByNum(oNum).transform.position;

        DVector = FavoriteFunction.VectorCalc(gameObject, oNum);
        FavoriteFunction.RotateBullet(gameObject);
        speed         = 6f;
        rgbd.velocity = DVector * speed;
    }
 public IEnumerator skill1_bullet(int pNum)
 {
     while (count < 6)
     {
         count++;
         FavoriteFunction.BulletInstantiate(skill1_Bullet, pNum, transform);
         yield return(new WaitForSeconds(continue_bullet));
     }
     count = 0;
 }
    protected override void Move(int _shooterNum)
    {
        oPosition_Temp = PlayerManager.instance.GetPlayerByNum(oNum).transform.position;
        warning_Temp   = FavoriteFunction.WarningCircle(oPosition_Temp, 2f, 3f);

        DVector = FavoriteFunction.VectorCalc(gameObject, oNum);
        FavoriteFunction.RotateBullet(gameObject);

        StartCoroutine(Accel_IrisBullet1());
    }
 // Update is called once per frame
 void Update()
 {
     ShootBullet();
     deltaDistance = Vector3.Distance(start_position, transform.position);
     if (deltaDistance > 10f)
     {
         FavoriteFunction.BulletInstantiate(skill3_bullet, pNum_Bullet, transform);
         Destroy(gameObject);
     }
 }
    IEnumerator MoveIrisSKill3Targeting()
    {
        while (true)
        {
            DVector = FavoriteFunction.VectorCalc(gameObject, oNum);

            rgbd.velocity = DVector * speed;
            yield return(null);
        }
    }
示例#17
0
 protected override void Move(int _shooterNum)
 {
     angle   = commuObject.GetComponent <Diana_Bullet1>().direction == 1 ? 75f * Mathf.Deg2Rad : -75f * Mathf.Deg2Rad;
     DVector = commuObject.GetComponent <Diana_Bullet1>().DVector + new Vector3(Mathf.Cos(angle), Mathf.Sin(angle), 0f);
     DVector = DVector.normalized;
     transform.Translate(DVector * commuObject.GetComponent <Diana_Bullet1>().direction *commuObject.GetComponent <Diana_Bullet1>().position);
     FavoriteFunction.RotateBullet(gameObject);
     speed         = 6f;
     rgbd.velocity = DVector * speed;
 }
 IEnumerator Create_Bullet()
 {
     while (true)
     {
         created_bullet.GetComponent <Diana_skill1_created_bullet>().directionVector = create_bullet_vector1; //방향 선정
         FavoriteFunction.BulletInstantiate(created_bullet, pNum_Bullet, transform);                          // 총알 생성
         created_bullet.GetComponent <Diana_skill1_created_bullet>().directionVector = create_bullet_vector2;
         FavoriteFunction.BulletInstantiate(created_bullet, pNum_Bullet, transform);
         yield return(new WaitForSeconds(reload_bullet_time));            //총알이 퍼질때의 간격
     }
 }
示例#19
0
    public override IEnumerator NomalAttack()
    {
        yield return(new WaitForSeconds(1f));

        while (true)
        {
            FavoriteFunction.BulletInstantiate(nomalBullet, pNum, transform);

            yield return(new WaitForSeconds(1f));
        }
    }
    GameObject created_bullet;       //생성되는 총알

    void Start()
    {
        directionVector = FavoriteFunction.VectorCalculator(pNum_Bullet, transform);      //총알의 방향 : 쏘는 순간의 상대의 위치로
        bSpd            = 0.7f;
        FavoriteFunction.ObjectRotation(directionVector, gameObject);
        created_bullet = Resources.Load("Characters/Diana/Bullet/created_bullet") as GameObject;

        create_bullet_vector1 = Vector3.Cross(directionVector, new Vector3(0f, 0f, 1f)).normalized;
        create_bullet_vector2 = Vector3.Cross(directionVector, new Vector3(0f, 0f, -1f)).normalized;
        AutoDestroy();
        StartCoroutine(Create_Bullet());
    }
    public virtual IEnumerator NomalAttack()
    {
        yield return(new WaitForSeconds(1f));

        while (true)
        {
            if (nomalBullet != null)
            {
                FavoriteFunction.BulletInstantiate(nomalBullet, pNum, transform);
            }

            yield return(new WaitForSeconds(1f));
        }
    }
    IEnumerator BombIrisMoth()
    {
        GameObject[] mothBullet_Temp = new GameObject[6];

        yield return(new WaitForSeconds(2f));

        mothBullet_Temp = FavoriteFunction.CreateBulletCircle(0.5f, 8, mothBullet, transform, pNum_Bullet);
        for (int i = 0; i < 8; i++)
        {
            mothBullet_Temp[i].GetComponent <Bullet_IrisMothBullet>().Start_MothBullet(1, i, mothBullet);
            mothBullet_Temp[i].transform.localScale *= 1.2f;
        }

        Destroy(gameObject);
    }
示例#23
0
    protected void division()
    {
        float angle;

        angle = Random.Range(-20f, 20f);
        skill3_bullet.GetComponent <Diana_skill3_child>().directionVector = new Vector3(directionVector.x * Mathf.Cos(angle * Mathf.Deg2Rad), Mathf.Sin(angle * Mathf.Deg2Rad), 0f);
        FavoriteFunction.BulletInstantiate(skill3_bullet, pNum_Bullet, transform);
        angle = Random.Range(20f, 60f);
        Debug.Log(angle);
        skill3_bullet.GetComponent <Diana_skill3_child> ().directionVector = new Vector3(directionVector.x * Mathf.Cos(angle * Mathf.Deg2Rad), Mathf.Sin(angle * Mathf.Deg2Rad), 0f);
        FavoriteFunction.BulletInstantiate(skill3_bullet, pNum_Bullet, transform);
        angle = Random.Range(-60f, -20f);
        skill3_bullet.GetComponent <Diana_skill3_child> ().directionVector = new Vector3(directionVector.x * Mathf.Cos(angle * Mathf.Deg2Rad), Mathf.Sin(angle * Mathf.Deg2Rad), 0f);
        FavoriteFunction.BulletInstantiate(skill3_bullet, pNum_Bullet, transform);
    }
    IEnumerator CreateTigerMoth(Transform myTransform, int pNum)
    {
        GameObject tigerMoth_Temp;

        tigerMoth_Temp = FavoriteFunction.BulletInstantiate(tigerMoth, pNum, myTransform);
        tigerMoth_Temp.GetComponent <Bullet_IrisMoth>().mothBullet = tigerMothBullet;

        yield return(new WaitForSeconds(0.5f));

        tigerMoth_Temp = FavoriteFunction.BulletInstantiate(tigerMoth, pNum, myTransform);
        tigerMoth_Temp.GetComponent <Bullet_IrisMoth>().mothBullet = tigerMothBullet;

        yield return(new WaitForSeconds(0.5f));

        tigerMoth_Temp = FavoriteFunction.BulletInstantiate(tigerMoth, pNum, myTransform);
        tigerMoth_Temp.GetComponent <Bullet_IrisMoth>().mothBullet = tigerMothBullet;
    }
    public override IEnumerator NomalAttack()
    {
        yield return(new WaitForSeconds(1f));

        while (true)
        {
            if (bullet_count == 0)
            {
                probablity = Random.Range(0f, 100f);
                if (probablity < 70f)
                {
                    yield return(new WaitForSeconds(1.2f));

                    bullet_count = bullet_max;
                }
                else
                {
                    yield return(new WaitForSeconds(0.6f));

                    bullet_count = bullet_max;                    // 크리티컬 터짐 + 앞으로 임펙트 추가해야함
                }
            }
            else
            {
                if (skill1_start == true)
                {
                    skill1_start = false;
                    Debug.Log(skill1_start);
                    yield return(StartCoroutine(gameObject.GetComponent <Diana_skill1>().skill1_bullet(pNum)));

                    bullet_count = 0;
                }
                else
                {
                    FavoriteFunction.BulletInstantiate(nomalBullet, pNum, transform);
                    bullet_count--;
                    yield return(new WaitForSeconds(0.2f));
                }
            }
        }
    }
示例#26
0
 protected override void Move(int _shooterNum)
 {
     explosion_scale = 4f;
     speed           = 7f;
     start_position  = transform.position;
     if (commuObject.GetComponent <Diana_Bullet2_data> ().type == 1)
     {
         angle = Random.Range(-60f, -20f) * Mathf.Deg2Rad;
     }
     else if (commuObject.GetComponent <Diana_Bullet2_data> ().type == 2)
     {
         angle = Random.Range(-20f, 20f) * Mathf.Deg2Rad;
     }
     else
     {
         angle = Random.Range(20f, 60f) * Mathf.Deg2Rad;
     }
     DVector = new Vector3(1 * Mathf.Cos(angle), 1 * Mathf.Sin(angle), 0);
     FavoriteFunction.RotateBullet(gameObject);
     rgbd.velocity = DVector * speed;
     StartCoroutine(collision());
 }
    IEnumerator MoveIrisMoth()
    {
        Vector3 directionVector;

        for (int i = 0; i <= 7; i++)
        {
            directionVector = FavoriteFunction.VectorCalculator(pNum_Bullet, transform);

            transform.position += directionVector * bSpd;

            yield return(new WaitForSeconds(0.1f));
        }

        directionVector = FavoriteFunction.VectorCalculator(pNum_Bullet, transform);

        bSpd = 2f;

        while (true)
        {
            transform.position += directionVector * bSpd;

            yield return(null);
        }
    }
 protected override void skill3()
 {
     FavoriteFunction.BulletInstantiate(skill3_bullet_parent, pNum, transform);
 }
示例#29
0
 void DirectionVectorCal(int bulletCount)
 {
     directionVector = FavoriteFunction.VectorCalculationCircle(bulletCount, 8);
 }