示例#1
0
    public void CreateDummyList()
    {
        foreach (DemonSet g in m_OldDemonSets)
        {
            if (g != null)
            {
                DestroyImmediate(g.gameObject);
            }
        }

        m_OldDemonSets.Clear();
        for (int i = 0; i < 30; i++)
        {
            GameObject go = Instantiate(m_DemonSetPrefab);
            go.transform.SetParent(m_InactiveContainer);
            DemonSet info = go.GetComponent <DemonSet>();
            m_OldDemonSets.Add(info);
        }

        foreach (TextMeshProUGUI g in m_OldDemonHeaders)
        {
            if (g != null)
            {
                DestroyImmediate(g.gameObject);
            }
        }

        m_OldDemonHeaders.Clear();
        for (int i = 0; i < 10; i++)
        {
            GameObject go = Instantiate(m_DemonHeaderPrefab);
            go.transform.SetParent(m_InactiveContainer);
            TextMeshProUGUI info = go.GetComponent <TextMeshProUGUI>();
            m_DemonHeaders.Add(info);
        }

        foreach (DemonInfo g in m_OldDemonInfos)
        {
            if (g != null)
            {
                DestroyImmediate(g.gameObject);
            }
        }

        m_OldDemonInfos.Clear();
        for (int i = 0; i < 30; i++)
        {
            GameObject go = Instantiate(m_DemonInfoPrefab);
            go.transform.SetParent(m_InactiveContainer);
            DemonInfo info = go.GetComponent <DemonInfo>();
            m_OldDemonInfos.Add(info);
        }
    }
示例#2
0
    public void AddSaved(Demon d)
    {
        for (int k = 0; k < m_Saved.Count; k++)
        {
            if (m_Saved[k].demon.name == d.name)
            {
                return;
            }
        }
        DemonInfo info = GetInfo(m_SavedParent);

        info.Setup(d);
        m_Saved.Add(info);
    }
示例#3
0
 public void RemoveSaved(Demon d)
 {
     for (int k = 0; k < m_Saved.Count; k++)
     {
         if (m_Saved[k].demon.name == d.name)
         {
             DemonInfo i = m_Saved[k];
             i.transform.SetParent(m_InactiveContainer);
             m_OldDemonInfos.Add(i);
             m_CurrentDemonInfos.Remove(i);
             m_Saved.RemoveAt(k);
             break;
         }
     }
 }
示例#4
0
 public void ClearSaved()
 {
     for (int i = 0; i < m_Saved.Count; i++)
     {
         for (int k = 0; k < m_CurrentDemonInfos.Count; k++)
         {
             if (m_Saved[i] == m_CurrentDemonInfos[k])
             {
                 DemonInfo info = m_CurrentDemonInfos[k];
                 info.transform.SetParent(m_InactiveContainer);
                 m_OldDemonInfos.Add(info);
                 m_CurrentDemonInfos.RemoveAt(k);
                 break;
             }
         }
     }
     m_Saved.Clear();
 }
示例#5
0
    public void FillDemonList()
    {
        foreach (DemonInfo g in m_DemonInfos)
        {
            if (g != null)
            {
                DestroyImmediate(g.gameObject);
            }
        }

        m_DemonInfos.Clear();
        for (int i = 0; i < m_Demons.Count; i++)
        {
            GameObject go = Instantiate(m_DemonInfoPrefab);
            go.transform.SetParent(m_DemonListParent);

            DemonInfo info = go.GetComponent <DemonInfo>();
            info.Setup(m_Demons[i]);

            m_DemonInfos.Add(info);
        }
    }
示例#6
0
    public void DisplayFusions(Demon target)
    {
        if (!canGen || target == null)
        {
            return;
        }
        canGen = false;
        List <DemonGroup> combos = isFuseMode ? GetDemonFusions(target) : GetDemonResults(target);

        m_CurrentDemonName.text        = target.name;
        m_CurrentDemonIcon.sprite      = Resources.Load <Sprite>(target.name);
        m_CurrentDemonPlaceholder.text = string.Empty;

        layout.Clear();
        layoutState.Clear();
        ClearList(0);
        ClearList(1);

        if (combos.Count > 0)
        {
            //results = results.OrderBy(o => (o.d1.rarityValue + o.d2.rarityValue)).ThenBy(o => o.d1.grade).ToList();
            //int top = 0;
            //int offset = 0;
            int count = 0;
            for (int i = 0; i < combos.Count; i++)
            {
                if (combos[i].results.Count > 0)
                {
                    TextMeshProUGUI header = GetHeader();
                    if (isFuseMode)
                    {
                        header.text = HeaderText(combos[i].results[0].d1.race, combos[i].results[0].d2.race);
                    }
                    else
                    {
                        header.text = HeaderText(target.race, combos[i].results[0].d1.race);
                    }
                    layout.Add(header.gameObject);
                    layoutState.Add(0);
                    //top += Mathf.FloorToInt((count - 1) / 2) * 120;
                    //offset = -25 + (i * -150) - top;
                    //header.rectTransform.anchoredPosition = new Vector2(105, offset);
                    count             = 0;
                    combos[i].results = combos[i].results.OrderBy(o => (o.d1.rarityValue + o.d2.rarityValue)).ThenBy(o => o.d1.grade).ToList();
                    for (count = 0; count < combos[i].results.Count; count++)
                    {
                        DemonResult result = combos[i].results[count];
                        DemonSet    set    = GetSet();
                        if (result.d2.rarity > result.d1.rarity || !isFuseMode)
                        {
                            set.info1.Setup(result.d1);
                            set.info2.Setup(result.d2);
                        }
                        else
                        {
                            set.info1.Setup(result.d2);
                            set.info2.Setup(result.d1);
                        }
                        layout.Add(set.gameObject);
                        layoutState.Add(1);
                        //set.transform.localPosition = new Vector2(50 + (count % 2) * 250, (offset - 75) + Mathf.FloorToInt(count / 2) * -120);
                    }
                }
            }
        }
        else if (combos.Count == 0)
        {
            if (target.name == "Kaminotoko" || target.name == "Kanbari" || target.name == "Kinmamon" || target.name == "Kama" ||
                target.name == "Chupacabra" || target.name == "Hare of Inaba")
            {
                m_CurrentDemonPlaceholder.text = "Obtainable through multi-fusion.";
            }
            else
            {
                m_CurrentDemonPlaceholder.text = "Obtainable through gacha.";
            }
            //else if (target.name == "Pixie" || target.name == "Slime")
            //{
            //    m_CurrentDemonPlaceholder.text = "Obtainable through negotiation.";
            //}
        }

        SearchRarities();
        m_CurrentDemonScroll.value = 1;;

        if (m_Histories.Count == 0 || m_Histories[m_Histories.Count - 1].demon != target)
        {
            DemonInfo historyDemon = GetInfo(m_HistoryParent);
            historyDemon.Setup(target);
            m_Histories.Add(historyDemon);
        }
        lastDemon = target;
        canGen    = true;
    }