Example #1
0
    public void DropItem(Transform transform)
    {
        //แก้
        RandomDropItem();

        string className   = item[randomItem].GetType().Name;
        float  speed       = 0;
        float  damage      = 0;
        float  fireRate    = 0;
        int    bulletNum   = 0;
        float  bulletSpeed = 0;
        float  scale       = 0;
        bool   shield      = false;
        int    dropRate    = 0;
        Item   ItemData    = new Item(speed, damage, fireRate, bulletNum, bulletSpeed, scale, shield, dropRate);

        switch (className)
        {
        case "ItemSpeed":
            ItemData = Items["ItemSpeed"];
            break;

        case "ItemDamage":
            ItemData = Items["ItemDamage"];
            break;

        case "ItemFireRate":
            ItemData = Items["ItemFireRate"];
            break;

        case "ItemBulletNum":
            ItemData = Items["ItemBulletNum"];
            break;

        case "ItemBulletSpeed":
            ItemData = Items["ItemBulletSpeed"];
            break;

        case "ItemShield":
            ItemData = Items["ItemShield"];
            break;

        case "ItemScale":
            ItemData = Items["ItemScale"];
            break;

        default:
            break;
        }

        item[randomItem].speed       = ItemData.Speed;
        item[randomItem].damage      = ItemData.Damage;
        item[randomItem].fireRate    = ItemData.FireRate;
        item[randomItem].bulletNum   = ItemData.BulletNum;
        item[randomItem].bulletSpeed = ItemData.BulletSpeed;
        item[randomItem].scale       = ItemData.Scale;
        item[randomItem].shield      = ItemData.Shiled;


        if (randomItem1.DropChance(ItemData.DropRate))
        {
            BaseItem newitem = Instantiate(item[randomItem], transform.position, item[randomItem].transform.rotation) as BaseItem;
            newitem.gameObject.name = newitem.gameObject.name.Replace("(Clone)", "");
        }
    }