void OnEvent(GameEvent ev)
    {
        switch (ev.Type())
        {
        case GameEventType.EVENT_START_QUEST:
        {
            EventStartQuest start = (EventStartQuest)ev;

            if (start.quest == QuestType.QT_GUNS)
            {
                force_gun = true;
            }
            if (start.quest == QuestType.QT_LACAJA && LaCaja_spawn)
            {
                if (spawned_item != null)
                {
                    ItemManager.Instance.RemoveFromitemsInstances(spawned_item);
                    GameObject.Destroy(spawned_item);
                }
                SpawnLACAJA();
            }
            break;
        }

        case GameEventType.EVENT_END_QUEST:
        {
            EventEndQuest start = (EventEndQuest)ev;

            if (start.quest == QuestType.QT_GUNS)
            {
                force_gun = false;
            }
            break;
        }

        case GameEventType.EVENT_MATCH_START:
        {
            SpawnItem();
            timer.Start();

            break;
        }

        case GameEventType.EVENT_ITEM_GRABBED: {
            EventItemGrabbed grab = (EventItemGrabbed)ev;
            if (grab.item == spawned_item)
            {
                spawned_item = null;
            }

            break;
        }

        default:
            Debug.LogError("ItemSpawner: Invalid call to OnEvent");
            break;
        }
    }
    public void StartGrabbingItem(PlayerStats ins, Item it)
    {
        if (ins != null && it != null)
        {
            if (!it.GetIsGrabbed() && !ins.GetHasGrabbedItem())
            {
                ins.SetGrabbedItem(it);
                it.SetGrabbedBy(ins);

                EventItemGrabbed ev = new EventItemGrabbed(it, ins);
                EventManager.Instance.SendEvent(ev);

                it.OnPlayerGrabBase(ins);
                it.OnPlayerGrab(ins);
            }
        }
    }
Example #3
0
    private void OnEvent(GameEvent ev)
    {
        switch (ev.Type())
        {
        case GameEventType.EVENT_ITEM_GRABBED:
        {
            EventItemGrabbed r_ev = (EventItemGrabbed)ev;

            TryRemoveItem(r_ev.item);

            break;
        }

        case GameEventType.EVENT_ITEM_DROPPED:
        {
            EventItemDropped r_ev = (EventItemDropped)ev;

            TryAddItem(r_ev.item);

            break;
        }
        }
    }
Example #4
0
    private void OnEvent(GameEvent ev)
    {
        switch (ev.Type())
        {
        case GameEventType.EVENT_ITEM_GRABBED:
        {
            EventItemGrabbed r_ev = (EventItemGrabbed)ev;

            if (r_ev.player == stats)
            {
                r_ev.item.gameObject.transform.parent           = item_parent.transform;
                r_ev.item.gameObject.transform.localPosition    = new Vector3(0, 0, 0);
                r_ev.item.gameObject.transform.localEulerAngles = new Vector3(0, 0, 0);

                has_item = true;
            }

            break;
        }

        case GameEventType.EVENT_ITEM_DROPPED:
        {
            EventItemDropped r_ev = (EventItemDropped)ev;

            if (r_ev.player == stats)
            {
                has_item = false;
            }

            break;
        }

        default:
            break;
        }
    }