コード例 #1
0
    void populate()
    {
        m_populateRetry = true;

        var dx  = new UniformIntDistribution(m_region.min.x, m_region.max.x);
        var dy  = new UniformIntDistribution(m_region.min.y, m_region.max.y);
        var gen = new StaticRandomGenerator <DefaultRandomGenerator>();

        var x = dx.Next(gen);
        var y = dy.Next(gen);

        if (m_snake != null && m_snake.haveNode(x, y))
        {
            return;
        }

        if (!m_populatableZone.Contains(TilemapInfos.instance.tileID(x, y)))
        {
            return;
        }

        var obj = Instantiate(m_powerupPrefab, new Vector3(x, y, -0.5f), Quaternion.identity);

        m_currentPowerup = obj.GetComponent <SnakePowerupLogic>();

        m_populateRetry = false;
    }
コード例 #2
0
ファイル: PacSnakeLogic.cs プロジェクト: larnin/Pot-au-jeu
    void collisionPowerup(SnakePowerupLogic p)
    {
        if (p == null || m_dead)
        {
            return;
        }

        m_pacman.speed = m_powerupSpeed;
        Event <PlaySoundEvent> .Broadcast(new PlaySoundEvent(m_eatPowerupClip));

        Destroy(p.gameObject);
        DOVirtual.DelayedCall(m_powerupDuration, () => m_pacman.speed = m_baseSpeed);
    }