Exemple #1
0
    void SpawnItem(Vector3 pos, bool chance = false, float chancenum = 2f, Item.ITEM_TYPE itype = Item.ITEM_TYPE.QUESTION, Item.EFFECT_TYPE etype = Item.EFFECT_TYPE.E_EXPLOSION)
    {
        if (chance)
        {
            float val = Random.Range(-5f, 5f);
            if (val > chancenum)
            {
                return;
            }
        }

        GameObject itemPrefab = Resources.Load("Prefabs/Item") as GameObject;
        GameObject obj        = (GameObject)Instantiate(itemPrefab, pos, Quaternion.identity);

        Item item = obj.GetComponent <Item>();

        item.itemType   = itype;
        item.effectType = etype;

        Sprite _sprite;

        switch (item.itemType)
        {
        case Item.ITEM_TYPE.SKILL:
            //{
            //    if (item.effectType == Item.EFFECT_TYPE.E_EXPLOSION)
            //        item.GetComponent<SpriteRenderer>().sprite = TileRefManager.instance.GetTileRef(TileRefManager.TILE_TYPE.TILE_PICKUP1).sprite;
            //    else
            //        item.GetComponent<SpriteRenderer>().sprite = TileRefManager.instance.GetTileRef(TileRefManager.TILE_TYPE.TILE_PICKUP2).sprite;
            //    Vector3 sizing = item.transform.localScale;
            //    item.transform.localScale = new Vector3(sizing.x * 10, sizing.y * 10, sizing.z * 10);
            //}
            _sprite = Resources.Load <Sprite>("Sprites/QuestionIcon");
            item.GetComponent <SpriteRenderer>().sprite = _sprite;
            if (item.effectType == Item.EFFECT_TYPE.E_HEALTH)
            {
                item.GetComponent <SpriteRenderer>().material.color = new Color(0, 0.2f, 0);
            }
            break;

        case Item.ITEM_TYPE.QUESTION:
            _sprite = Resources.Load <Sprite>("Sprites/QuestionIcon");
            item.GetComponent <SpriteRenderer>().sprite = _sprite;
            break;

        case Item.ITEM_TYPE.KEY:
            _sprite = Resources.Load <Sprite>("Sprites/Key");
            item.GetComponent <SpriteRenderer>().sprite = _sprite;
            break;
        }
    }
Exemple #2
0
    private void BuyItem(GameObject item)
    {
        Item buyingItem = item.GetComponentInChildren <Item>();

        Item.ITEM_TYPE itemType = buyingItem.type;

        if (player.collectables >= buyingItem.cost)
        {
            switch (itemType)
            {
            case Item.ITEM_TYPE.GREEN_KEY:
                player.hasGreenKey = true;
                break;
            }
            player.collectables -= buyingItem.cost;
        }
    }
Exemple #3
0
    private void OnTriggerStay(Collider other)
    {
        string tag = other.tag;

        switch (tag)
        {
        case "AlienBlood":
            this.currentSpeed = moveSpeed * 0.5f;
            this.vitality.TakeDamage(bloodDamage * Time.deltaTime, this.trans.position);
            break;

        case "Item":
            Item           item     = other.GetComponent <Item> ();
            Item.ITEM_TYPE itemType = item.Pickup();
            if (itemType.Equals(Item.ITEM_TYPE.WEAPON))
            {
                this.SelectWeapon(item.data);
            }
            break;
        }
    }