void Start()
    {
        glow = gameObject.GetComponentInChildren <Light>() as Light;

        Assert.IsFalse(type == Type.Invalid,
                       ("Invalid pickup type @ " + gameObject));

        (pickupPrize = MFX.PickupPrize(gameObject)).Pause();
        (extinguishLight = MFX.ExtinguishLight(glow, 0, .1f)).Pause();

        if ((type == Type.Prize || type == Type.LevelUp) && autoAlign)
        {
            AutoAlign();
        }
    }
    override public void OnBodyCollisionEnter(Collider2D coll)
    {
        collidedWithBody = true;

        if (!levelCompleted && !playerDead)
        {
            switch (entityType)
            {
            case EntityType.prize:
            {
                MFX.PickupPrize(gameObject);
                MFX.ExtinguishLight(glow, 0, .1f);
                EventKit.Broadcast <int>("prize collected", worth);
                break;
            }

            case EntityType.levelUp:
            {
                MFX.PickupPrize(gameObject);
                MFX.ExtinguishLight(glow, 0, .1f);
                levelCompleted = true;
                EventKit.Broadcast <int>("prize collected", worth);
                EventKit.Broadcast <bool>("level completed", true);
                break;
            }

            case EntityType.save:
            {
                EventKit.Broadcast <bool>("save player data", true);
                break;
            }

            case EntityType.load:
            {
                EventKit.Broadcast <bool>("load player data", true);
                break;
            }

            default:
            {
                Assert.IsTrue(false, "** Default Case Reached **");
                break;
            }
            }
        }
    }
Example #3
0
    override public void OnBodyCollisionEnter(Collider2D coll)
    {
        collidedWithBody = true;

        if (!game.LevelLoading && !player.Dead)
        {
            switch (entityType)
            {
            case EntityType.prize:
                MFX.PickupPrize(gameObject);
                MFX.ExtinguishLight(glow, 0, .1f);
                Messenger.Broadcast <int>("prize collected", worth);
                break;

            case EntityType.levelUp:
                MFX.PickupPrize(gameObject);
                MFX.ExtinguishLight(glow, 0, .1f);
                Messenger.Broadcast <int>("prize collected", worth);
                Messenger.Broadcast <bool>("level completed", true);
                break;

            case EntityType.weapon:
                MFX.PickupWeapon(gameObject);
                break;

            case EntityType.save:
                Messenger.Broadcast <bool>("save player data", true);
                break;

            case EntityType.load:
                Messenger.Broadcast <bool>("load player data", true);
                break;

            default:
                Assert.IsTrue(false, "** Default Case Reached **");
                break;
            }
        }
    }