Exemple #1
0
    private void SetUpSoupSections()
    {
        m_sectionsList = new List <SoupSection>();
        float areaSize = 360.0f / m_numSections;
        float angle    = 0.0f;
        float radius   = m_soupSprite.bounds.size.x / 2;

        SoupItem.ItemType previousType = SoupItem.ItemType.Broccoli;
        SoupItem.ItemType firstType    = previousType;

        for (int i = 0; i < m_numSections; ++i)
        {
            SoupItem.ItemType currentType = (SoupItem.ItemType)Random.Range((int)SoupItem.ItemType.Broccoli, (int)SoupItem.ItemType.Shrimp + 1);

            while (currentType == previousType || (i == m_numSections - 1 && currentType == firstType))
            {
                currentType = (SoupItem.ItemType)Random.Range((int)SoupItem.ItemType.Broccoli, (int)SoupItem.ItemType.Shrimp);
            }

            if (i == 0)
            {
                firstType = currentType;
            }

            previousType = currentType;

            m_sectionsList.Add(new SoupSection(areaSize, i, angle, radius, currentType));
            angle += areaSize;
        }
    }
Exemple #2
0
 public void Swirl(SoupItem.ItemType newType)
 {
     m_isSwirling     = true;
     m_distanceToMove = m_endAngle - m_startAngle;
     m_itemType       = newType;
     //for (int i = 0; i < m_items.Count; ++i)
     //{
     //    m_items[i].transform.RotateAround(Soup.Instance.transform.position, Vector3.forward, m_endAngle - m_startAngle);
     //}
 }
Exemple #3
0
    public SoupSection(float area, int index, float start, float radius, SoupItem.ItemType type)
    {
        m_area       = area;
        m_index      = index;
        m_startAngle = start;
        m_endAngle   = start + area;
        m_radius     = radius;

        //m_itemType = (SoupItem.ItemType)Random.Range((int)SoupItem.ItemType.Broccoli, (int)SoupItem.ItemType.Shrimp);
        m_itemType = type;
    }
Exemple #4
0
    public void Swirl()
    {
        List <SoupItem> lastList = m_sectionsList[0].m_items;

        SoupItem.ItemType lastType = m_sectionsList[0].m_itemType;

        if (Random.Range(0.0f, 1.0f) <= m_swirlChance)
        {
            AudioManager.Instance.SFXplayerSwirl();
        }

        for (int i = 0; i < m_numSections - 1; ++i)
        {
            m_sectionsList[i].m_items = m_sectionsList[i + 1].m_items;
            m_sectionsList[i].Swirl(m_sectionsList[i + 1].m_itemType);
        }

        // swirl last
        m_sectionsList[m_numSections - 1].m_items = lastList;
        //m_sectionsList[0].m_itemType = lastType;
        m_sectionsList[m_numSections - 1].Swirl(lastType);
    }