Exemplo n.º 1
0
    void OnTriggerEnter2D(Collider2D collide)
    {
        if (collide.gameObject.tag == "Bullet")
        {
            return;
        }
        BeseObject baseObject = collide.gameObject.GetComponent <BeseObject>();

        if (baseObject)
        {
            if (BeseObject.CollideType.Neutral == baseObject.colideType)
            {
                baseObject.BeDamaged(status);

                GameObject.Find("HitEffectManager").GetComponent <HitEffectManager>().HitEffectPlay(transform.position);
                battleSoundManager.PlaySound(BattleSoundManager.Type.BulletHit);
                Destroy(this.gameObject);
            }
            else if (colideType != baseObject.colideType &&
                     BeseObject.CollideType.None != baseObject.colideType)
            {
                baseObject.BeDamaged(status);

                GameObject.Find("HitEffectManager").GetComponent <HitEffectManager>().HitEffectPlay(transform.position);
                battleSoundManager.PlaySound(BattleSoundManager.Type.BulletHit);
                Destroy(this.gameObject);
            }
        }
    }
Exemplo n.º 2
0
    public void Instance(BeseObject obj, float radian)
    {
        GameObject instance;

        switch (obj.status.bulletElement)
        {
        case BeseObject.Elements.Nomal:
            instance = Instantiate(nomalbulletPrefab);
            battleSoundManager.PlaySound(BattleSoundManager.Type.NormalBullet, true);
            break;

        case BeseObject.Elements.Fire:
            instance = Instantiate(firebulletPrefab);
            battleSoundManager.PlaySound(BattleSoundManager.Type.FireBullet, true);
            break;

        case BeseObject.Elements.Water:
            instance = Instantiate(waterbulletPrefab);
            battleSoundManager.PlaySound(BattleSoundManager.Type.WaterBullet, true);
            break;

        case BeseObject.Elements.Wood:
            instance = Instantiate(woodbulletPrefab);
            battleSoundManager.PlaySound(BattleSoundManager.Type.WoodBullet, true);
            break;

        default:
            return;

            break;
        }

        // 場所
        instance.gameObject.transform.position = obj.gameObject.transform.position;

        // 速度
        float speed = (obj.status.valueStatus.bounceSpeed + obj.status.upSkillStatus.UpBounceSpeed) * obj.status.upSkillStatus.MAG_BounceSpeed;
        float dirX  = Mathf.Cos(radian);
        float dirY  = Mathf.Sin(radian);

        instance.GetComponent <Bullet>().velocity = new Vector2(dirX * speed, dirY * speed);

        // 当たり判定の種類を設定
        instance.GetComponent <Bullet>().colideType = obj.GetComponent <BeseObject>().colideType;
        // ステータスの反映
        instance.GetComponent <Bullet>().status = obj.GetComponent <BeseObject>().status.Clone();

        // 親の設定
        instance.transform.SetParent(GameObject.Find("TouchArea").transform);

        // 角度
        instance.gameObject.transform.Rotate(new Vector3(0.0f, 0.0f, radian * Mathf.Rad2Deg - 90.0f));
    }
Exemplo n.º 3
0
 // Use this for initialization
 void Start()
 {
     if (bulletGeneratorType == Type.Player)
     {
         bulletGenerator = GameObject.Find("BulletGenerator").GetComponent <BulletGenerator>();
     }
     else
     {
         bulletGenerator = GameObject.Find("EnemyBulletGenerator").GetComponent <BulletGenerator>();
     }
     baseObject = this.gameObject.GetComponent <BeseObject>();
     count      = baseObject.status.valueStatus.duration;
 }
Exemplo n.º 4
0
 // Use this for initialization
 void Start()
 {
     spriteRenderer = GetComponent <SpriteRenderer>();
     player         = GameObject.Find("TouchArea").transform.Find("Player").gameObject;
     enemy          = GetComponent <Enemy>();
     shot           = GetComponent <Shot>();
     for (int i = 0; i < action.Length; i++)
     {
         if (action[i].element == BeseObject.Elements.None)
         {
             action[i].element = enemy.status.bulletElement;
         }
     }
 }