Exemple #1
0
    void Handle_GunFire(Player p, Gun g, int score)
    {
        //Debug.Log("Handle_GunFire");
        Bullet prefabBullet = ModuleBullet.Get_PrefabBullet_Used(g);

        //tk2dAnimatedSprite ani;

        if (prefabBullet == null)
        {
            return;
        }
        GunLevelType gLvType     = g.GetLevelType();
        GunPowerType gPowerType  = g.GetPowerType();
        int          NumInstance = 2 + (int)gLvType;//生成的数量
        float        widthBullet = WidthBulletNormal[(int)g.GetLevelType()];
        Vector3      posOffset   = new Vector3(-widthBullet * NumInstance / 2F, 0F);

        for (int i = 0; i != NumInstance; ++i)
        {
            Bullet b = Pool_GameObj.GetObj(prefabBullet.gameObject).GetComponent <Bullet>();
            b.Prefab_GoAnisprBullet = Prefab_AniBullet;
            b.Prefab_SpriteNameSet  = gPowerType == GunPowerType.Normal ? nameSetAniBulletNor : nameSetAniBulletLizi;

            BulletEx_Splitor bEx_Splitor = b.gameObject.AddComponent <BulletEx_Splitor>();
            bEx_Splitor.FactorSplit = NumInstance;

            b.transform.position = g.local_GunFire.position + g.AniSpr_GunPot.transform.rotation * posOffset;
            posOffset.x         += widthBullet;
            b.Score = score;
            b.Fire(p, null, g.AniSpr_GunPot.transform.rotation);
        }
    }
Exemple #2
0
    public static GunType CombineGunLevelAndPower(GunLevelType glt, GunPowerType gpt)
    {
        switch (glt)
        {
            case GunLevelType.Dbl:
                switch (gpt)
                {
                    case GunPowerType.Normal:
                        return GunType.Normal;
                    case GunPowerType.Lizi:
                        return GunType.Lizi;
                }
                break;
            case GunLevelType.Tri:
                switch (gpt)
                {
                    case GunPowerType.Normal:
                        return GunType.NormalTri;
                    case GunPowerType.Lizi:
                        return GunType.LiziTri;
                }
                break;
            case GunLevelType.Quad:
                switch (gpt)
                {
                    case GunPowerType.Normal:
                        return GunType.NormalQuad;
                    case GunPowerType.Lizi:
                        return GunType.LiziQuad;
                }
                break;

        }
        return GunType.Normal;
    }
Exemple #3
0
    public static GunType CombineGunLevelAndPower(GunLevelType glt, GunPowerType gpt)
    {
        switch (glt)
        {
        case GunLevelType.Dbl:
            switch (gpt)
            {
            case GunPowerType.Normal:
                return(GunType.Normal);

            case GunPowerType.Lizi:
                return(GunType.Lizi);
            }
            break;

        case GunLevelType.Tri:
            switch (gpt)
            {
            case GunPowerType.Normal:
                return(GunType.NormalTri);

            case GunPowerType.Lizi:
                return(GunType.LiziTri);
            }
            break;

        case GunLevelType.Quad:
            switch (gpt)
            {
            case GunPowerType.Normal:
                return(GunType.NormalQuad);

            case GunPowerType.Lizi:
                return(GunType.LiziQuad);
            }
            break;
        }
        return(GunType.Normal);
    }
Exemple #4
0
 public bool ChangeGun(int lvType, GunPowerType pwrType)
 {
     PowerType = pwrType;
     return(ChangeGun(lvType));
 }
Exemple #5
0
 public bool ChangeGun(GunLevelType lvType, GunPowerType pwrType)
 {
     return(ChangeGun(Gun.CombineGunLevelAndPower(lvType, pwrType)));
 }
Exemple #6
0
 public bool ChangeGun(GunLevelType lvType, GunPowerType pwrType)
 {
     return ChangeGun(Gun.CombineGunLevelAndPower(lvType, pwrType));
 }