Esempio n. 1
0
    public void ClickCompose()
    {
        if (ComposForm_Mgr.GetInstance.NowCompose == -1)
        {
            foreach (RectTransform cts in ChildTs)
            {
                cts.gameObject.SetActive(true);
            }
            TextBox_Text.fontSize = 100;
            TextBox_Text.text     = "합성 결과를 선택하시오.";
            return;
        }

        NowCompose = ItemInfo.GetInstance.GetComposeInfo(ComposForm_Mgr.GetInstance.NowCompose);

        if (NowCompose.mat1 != "$" && Mat1 == -1 ||
            NowCompose.mat2 != "$" && Mat2 == -1 ||
            NowCompose.mat3 != "$" && Mat3 == -1 ||
            NowCompose.mat4 != "$" && Mat4 == -1 ||
            NowCompose.it1 != "$" && NowCompose.it1_value > It1_Value ||
            NowCompose.it2 != "$" && NowCompose.it2_value > It2_Value ||
            NowCompose.it3 != "$" && NowCompose.it3_value > It3_Value ||
            NowCompose.it4 != "$" && NowCompose.it4_value > It4_Value)
        {
            foreach (RectTransform cts in ChildTs)
            {
                cts.gameObject.SetActive(true);
            }
            TextBox_Text.fontSize = 100;
            TextBox_Text.text     = "합성 재료가 부족합니다.";
            return;
        }

        if (Cloud_Mgr.GetInstance.UserData.Coin < NowCompose.cost)
        {
            foreach (RectTransform cts in ChildTs)
            {
                cts.gameObject.SetActive(true);
            }
            TextBox_Text.fontSize = 100;
            TextBox_Text.text     = "금화가 부족합니다.";
            return;
        }

        Cloud_Mgr.GetInstance.UserData.Coin -= NowCompose.cost;

        if (ComposForm_Mgr.GetInstance.NowReinforce != -1)
        {
            string[] p     = Cloud_Mgr.GetInstance.UserData.HoldItem[ComposForm_Mgr.GetInstance.NowReinforce].Split(new char[] { ':' });
            int      value = Convert.ToInt32(p[1]);
            value--;
            Cloud_Mgr.GetInstance.UserData.HoldItem[ComposForm_Mgr.GetInstance.NowReinforce] = p[0] + ":" + value.ToString();
        }

        for (int i = 0; i < Cloud_Mgr.GetInstance.UserData.HoldItem.Length; i++)
        {
            if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.it1) && NowCompose.it1 != "$" && It1_Value > 0)
            {
                string[] p     = Cloud_Mgr.GetInstance.UserData.HoldItem[i].Split(new char[] { ':' });
                int      value = Convert.ToInt32(p[1]);
                if (It1_Value >= value)
                {
                    It1_Value -= value;
                    Cloud_Mgr.GetInstance.UserData.HoldItem[i] = "$:0";
                }
                else
                {
                    value    -= It1_Value;
                    It1_Value = 0;
                    Cloud_Mgr.GetInstance.UserData.HoldItem[i] = p[0] + ":" + value.ToString();
                }
                continue;
            }
            if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.it2) && NowCompose.it2 != "$")
            {
                string[] p     = Cloud_Mgr.GetInstance.UserData.HoldItem[i].Split(new char[] { ':' });
                int      value = Convert.ToInt32(p[1]);
                if (It2_Value >= value)
                {
                    It2_Value -= value;
                    Cloud_Mgr.GetInstance.UserData.HoldItem[i] = "$:0";
                }
                else
                {
                    value    -= It2_Value;
                    It2_Value = 0;
                    Cloud_Mgr.GetInstance.UserData.HoldItem[i] = p[0] + ":" + value.ToString();
                }
                continue;
            }
            if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.it3) && NowCompose.it3 != "$")
            {
                string[] p     = Cloud_Mgr.GetInstance.UserData.HoldItem[i].Split(new char[] { ':' });
                int      value = Convert.ToInt32(p[1]);
                if (It3_Value >= value)
                {
                    It3_Value -= value;
                    Cloud_Mgr.GetInstance.UserData.HoldItem[i] = "$:0";
                }
                else
                {
                    value    -= It3_Value;
                    It3_Value = 0;
                    Cloud_Mgr.GetInstance.UserData.HoldItem[i] = p[0] + ":" + value.ToString();
                }
                continue;
            }
            if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.it4) && NowCompose.it4 != "$")
            {
                string[] p     = Cloud_Mgr.GetInstance.UserData.HoldItem[i].Split(new char[] { ':' });
                int      value = Convert.ToInt32(p[1]);
                if (It4_Value >= value)
                {
                    It4_Value -= value;
                    Cloud_Mgr.GetInstance.UserData.HoldItem[i] = "$:0";
                }
                else
                {
                    value    -= It4_Value;
                    It4_Value = 0;
                    Cloud_Mgr.GetInstance.UserData.HoldItem[i] = p[0] + ":" + value.ToString();
                }
                continue;
            }
        }

        if (UnityEngine.Random.Range(0f, 1f) <= Final_Probability)
        {
            if (NowCompose.mat1 != "$")
            {
                Cloud_Mgr.GetInstance.UserData.HoldItem[Mat1] = "$:0";
            }
            if (NowCompose.mat2 != "$")
            {
                Cloud_Mgr.GetInstance.UserData.HoldItem[Mat2] = "$:0";
            }
            if (NowCompose.mat3 != "$")
            {
                Cloud_Mgr.GetInstance.UserData.HoldItem[Mat3] = "$:0";
            }
            if (NowCompose.mat4 != "$")
            {
                Cloud_Mgr.GetInstance.UserData.HoldItem[Mat4] = "$:0";
            }
            for (int i = 0; i < Cloud_Mgr.GetInstance.UserData.HoldItem.Length; i++)
            {
                if (Cloud_Mgr.GetInstance.UserData.HoldItem[i] == "$:0")
                {
                    Cloud_Mgr.GetInstance.UserData.HoldItem[i] = NowCompose.result + ":1";
                    break;
                }
            }

            ComposForm_Mgr.GetInstance.NowCompose           = -1;
            ComposForm_Mgr.GetInstance.NowComposeSelectIV   = -1;
            ComposForm_Mgr.GetInstance.NowComposePage       = 1;
            ComposForm_Mgr.GetInstance.NowReinforce         = -1;
            ComposForm_Mgr.GetInstance.NowReinforceSelectIV = -1;
            ComposForm_Mgr.GetInstance.NowReinforcePage     = 1;

            foreach (RectTransform cts in ChildTs)
            {
                cts.gameObject.SetActive(true);
            }
            TextBox_Text.fontSize = 200;
            TextBox_Text.text     = "합성 성공";
        }
        else
        {
            ComposForm_Mgr.GetInstance.NowReinforce         = -1;
            ComposForm_Mgr.GetInstance.NowReinforceSelectIV = -1;
            ComposForm_Mgr.GetInstance.NowReinforcePage     = 1;

            foreach (RectTransform cts in ChildTs)
            {
                cts.gameObject.SetActive(true);
            }
            TextBox_Text.fontSize = 200;
            TextBox_Text.text     = "합성 실패";
        }

        ComposForm_Mgr.GetInstance.ChangeCompose = true;

        Cloud_Mgr.GetInstance.SaveToCloud();
    }
Esempio n. 2
0
    void Update()
    {
        if (Application.platform == RuntimePlatform.Android)
        {
            if (Input.GetKeyUp(KeyCode.Escape))
            {
                if (Scene_Mgr.GetInstance.bSetting)
                {
                    Scene_Mgr.GetInstance.UnLoadSetting();
                }
                else if (TextBox.IsActive())
                {
                    ClickTextBox_Btn();
                }
                else
                {
                    BacktoLobbyBtn();
                }
            }
        }

        if (ComposForm_Mgr.GetInstance.ChangeCompose)
        {
            Compose.gameObject.SetActive(true);
            Ok.gameObject.SetActive(false);
            Cancle.gameObject.SetActive(false);

            Mat1      = -1;
            Mat2      = -1;
            Mat3      = -1;
            Mat4      = -1;
            It1_Value = 0;
            It2_Value = 0;
            It3_Value = 0;
            It4_Value = 0;

            if (ComposForm_Mgr.GetInstance.NowReinforce == -1)
            {
                Panel3_Mat1.overrideSprite = Plus;
                Final_Probability          = 0f;
            }
            else
            {
                string[] p = Cloud_Mgr.GetInstance.UserData.HoldItem[ComposForm_Mgr.GetInstance.NowReinforce].Split(new char[] { ':' });
                Panel3_Mat1.overrideSprite = ItemInfo.GetInstance.GetItemInfo(p[0]).ItemImage;
                Final_Probability          = ItemInfo.GetInstance.GetItemInfo(p[0]).EffectProbability;
            }

            if (ComposForm_Mgr.GetInstance.NowCompose == -1)
            {
                Name.text = "합성결과";
                ItemImage.overrideSprite = Plus;
                Info.text = "";
                WeaponDefence.gameObject.SetActive(false);

                Panel1_Mat1.overrideSprite = Notting;
                Panel1_Mat1.color          = Alpha;
                Panel1_Mat1_Text.text      = "";
                Panel1_Mat2.overrideSprite = Notting;
                Panel1_Mat2.color          = Alpha;
                Panel1_Mat2_Text.text      = "";
                Panel1_Mat3.overrideSprite = Notting;
                Panel1_Mat3.color          = Alpha;
                Panel1_Mat3_Text.text      = "";
                Panel1_Mat4.overrideSprite = Notting;
                Panel1_Mat4.color          = Alpha;
                Panel1_Mat4_Text.text      = "";
                Panel2_Mat1.overrideSprite = Notting;
                Panel2_Mat1.color          = Alpha;
                Panel2_Mat1_Text.text      = "";
                Panel2_Mat2.overrideSprite = Notting;
                Panel2_Mat2.color          = Alpha;
                Panel2_Mat2_Text.text      = "";
                Panel2_Mat3.overrideSprite = Notting;
                Panel2_Mat3.color          = Alpha;
                Panel2_Mat3_Text.text      = "";
                Panel2_Mat4.overrideSprite = Notting;
                Panel2_Mat4.color          = Alpha;
                Panel2_Mat4_Text.text      = "";

                Panel4_text.text = "";
                Panel5_text.text = "";
            }
            else
            {
                NowCompose = ItemInfo.GetInstance.GetComposeInfo(ComposForm_Mgr.GetInstance.NowCompose);
                ItemInfo.ItemInformation info = ItemInfo.GetInstance.GetItemInfo(NowCompose.result);
                Name.text = info.Name;
                ItemImage.overrideSprite = info.ItemImage;
                Info.text = info.Information;

                WeaponDefence.SetActive(true);
                if (info.Attribute == 1)
                {
                    Attribute.text = "불";
                }
                else if (info.Attribute == 2)
                {
                    Attribute.text = "바람";
                }
                else if (info.Attribute == 3)
                {
                    Attribute.text = "땅";
                }
                else if (info.Attribute == 4)
                {
                    Attribute.text = "물";
                }
                else if (info.Attribute == 5)
                {
                    Attribute.text = "빛";
                }
                Health.text  = info.Health.ToString();
                Attack.text  = info.Attack.ToString();
                Defence.text = info.Defence.ToString();

                bool Check_Mat1 = true;
                bool Check_Mat2 = true;
                bool Check_Mat3 = true;
                bool Check_Mat4 = true;

                for (int i = 0; i < Cloud_Mgr.GetInstance.UserData.HoldItem.Length; i++)
                {
                    if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.mat1) && NowCompose.mat1 != "$" && Check_Mat1)
                    {
                        Mat1       = i;
                        Check_Mat1 = false;
                        continue;
                    }
                    if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.mat2) && NowCompose.mat2 != "$" && Check_Mat2)
                    {
                        Mat2       = i;
                        Check_Mat2 = false;
                        continue;
                    }
                    if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.mat3) && NowCompose.mat3 != "$" && Check_Mat3)
                    {
                        Mat3       = i;
                        Check_Mat3 = false;
                        continue;
                    }
                    if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.mat4) && NowCompose.mat4 != "$" && Check_Mat4)
                    {
                        Mat4       = i;
                        Check_Mat4 = false;
                        continue;
                    }
                    if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.it1) && NowCompose.it1 != "$")
                    {
                        string[] p     = Cloud_Mgr.GetInstance.UserData.HoldItem[i].Split(new char[] { ':' });
                        int      value = Convert.ToInt32(p[1]);
                        if (NowCompose.it1_value <= It1_Value + value)
                        {
                            It1_Value = NowCompose.it1_value;
                        }
                        else
                        {
                            It1_Value += value;
                        }
                        continue;
                    }
                    if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.it2) && NowCompose.it2 != "$")
                    {
                        string[] p     = Cloud_Mgr.GetInstance.UserData.HoldItem[i].Split(new char[] { ':' });
                        int      value = Convert.ToInt32(p[1]);
                        if (NowCompose.it2_value <= It2_Value + value)
                        {
                            It2_Value = NowCompose.it2_value;
                        }
                        else
                        {
                            It2_Value += value;
                        }
                        continue;
                    }
                    if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.it3) && NowCompose.it3 != "$")
                    {
                        string[] p     = Cloud_Mgr.GetInstance.UserData.HoldItem[i].Split(new char[] { ':' });
                        int      value = Convert.ToInt32(p[1]);
                        if (NowCompose.it3_value <= It3_Value + value)
                        {
                            It3_Value = NowCompose.it3_value;
                        }
                        else
                        {
                            It3_Value += value;
                        }
                        continue;
                    }
                    if (Cloud_Mgr.GetInstance.UserData.HoldItem[i].StartsWith(NowCompose.it4) && NowCompose.it4 != "$")
                    {
                        string[] p     = Cloud_Mgr.GetInstance.UserData.HoldItem[i].Split(new char[] { ':' });
                        int      value = Convert.ToInt32(p[1]);
                        if (NowCompose.it4_value <= It4_Value + value)
                        {
                            It4_Value = NowCompose.it4_value;
                        }
                        else
                        {
                            It4_Value += value;
                        }
                        continue;
                    }
                }

                if (NowCompose.mat1 == "$")
                {
                    Panel1_Mat1.overrideSprite = Notting;
                    Panel1_Mat1.color          = Alpha;
                    Panel1_Mat1_Text.text      = "";
                }
                else
                {
                    Panel1_Mat1.overrideSprite = ItemInfo.GetInstance.GetItemInfo(NowCompose.mat1).ItemImage;
                    if (Mat1 == -1)
                    {
                        Panel1_Mat1_Text.text = "0 / 1";
                        Panel1_Mat1.color     = Alpha_half;
                    }
                    else
                    {
                        Panel1_Mat1_Text.text = "1 / 1";
                        Panel1_Mat1.color     = Alpha;
                    }
                }
                if (NowCompose.mat2 == "$")
                {
                    Panel1_Mat2.overrideSprite = Notting;
                    Panel1_Mat2.color          = Alpha;
                    Panel1_Mat2_Text.text      = "";
                }
                else
                {
                    Panel1_Mat2.overrideSprite = ItemInfo.GetInstance.GetItemInfo(NowCompose.mat2).ItemImage;
                    if (Mat2 == -1)
                    {
                        Panel1_Mat2_Text.text = "0 / 1";
                        Panel1_Mat2.color     = Alpha_half;
                    }
                    else
                    {
                        Panel1_Mat2_Text.text = "1 / 1";
                        Panel1_Mat2.color     = Alpha;
                    }
                }
                if (NowCompose.mat3 == "$")
                {
                    Panel1_Mat3.overrideSprite = Notting;
                    Panel1_Mat3.color          = Alpha;
                    Panel1_Mat3_Text.text      = "";
                }
                else
                {
                    Panel1_Mat3.overrideSprite = ItemInfo.GetInstance.GetItemInfo(NowCompose.mat3).ItemImage;
                    if (Mat3 == -1)
                    {
                        Panel1_Mat3_Text.text = "0 / 1";
                        Panel1_Mat3.color     = Alpha_half;
                    }
                    else
                    {
                        Panel1_Mat3_Text.text = "1 / 1";
                        Panel1_Mat3.color     = Alpha;
                    }
                }
                if (NowCompose.mat4 == "$")
                {
                    Panel1_Mat4.overrideSprite = Notting;
                    Panel1_Mat4.color          = Alpha;
                    Panel1_Mat4_Text.text      = "";
                }
                else
                {
                    Panel1_Mat4.overrideSprite = ItemInfo.GetInstance.GetItemInfo(NowCompose.mat4).ItemImage;
                    if (Mat4 == -1)
                    {
                        Panel1_Mat4_Text.text = "0 / 1";
                        Panel1_Mat4.color     = Alpha_half;
                    }
                    else
                    {
                        Panel1_Mat4_Text.text = "1 / 1";
                        Panel1_Mat4.color     = Alpha;
                    }
                }
                if (NowCompose.it1 == "$")
                {
                    Panel2_Mat1.overrideSprite = Notting;
                    Panel2_Mat1.color          = Alpha;
                    Panel2_Mat1_Text.text      = "";
                }
                else
                {
                    Panel2_Mat1.overrideSprite = ItemInfo.GetInstance.GetItemInfo(NowCompose.it1).ItemImage;
                    Panel2_Mat1_Text.text      = It1_Value + " / " + NowCompose.it1_value;
                    if (It1_Value != NowCompose.it1_value)
                    {
                        Panel2_Mat1.color = Alpha_half;
                    }
                    else
                    {
                        Panel2_Mat1.color = Alpha;
                    }
                }
                if (NowCompose.it2 == "$")
                {
                    Panel2_Mat2.overrideSprite = Notting;
                    Panel2_Mat2.color          = Alpha;
                    Panel2_Mat2_Text.text      = "";
                }
                else
                {
                    Panel2_Mat2.overrideSprite = ItemInfo.GetInstance.GetItemInfo(NowCompose.it2).ItemImage;
                    Panel2_Mat2_Text.text      = It2_Value + " / " + NowCompose.it2_value;
                    if (It2_Value != NowCompose.it2_value)
                    {
                        Panel2_Mat2.color = Alpha_half;
                    }
                    else
                    {
                        Panel2_Mat2.color = Alpha;
                    }
                }
                if (NowCompose.it3 == "$")
                {
                    Panel2_Mat3.overrideSprite = Notting;
                    Panel2_Mat3.color          = Alpha;
                    Panel2_Mat3_Text.text      = "";
                }
                else
                {
                    Panel2_Mat3.overrideSprite = ItemInfo.GetInstance.GetItemInfo(NowCompose.it3).ItemImage;
                    Panel2_Mat3_Text.text      = It3_Value + " / " + NowCompose.it3_value;
                    if (It3_Value != NowCompose.it3_value)
                    {
                        Panel2_Mat3.color = Alpha_half;
                    }
                    else
                    {
                        Panel2_Mat3.color = Alpha;
                    }
                }
                if (NowCompose.it4 == "$")
                {
                    Panel2_Mat4.overrideSprite = Notting;
                    Panel2_Mat4.color          = Alpha;
                    Panel2_Mat4_Text.text      = "";
                }
                else
                {
                    Panel2_Mat4.overrideSprite = ItemInfo.GetInstance.GetItemInfo(NowCompose.it4).ItemImage;
                    Panel2_Mat4_Text.text      = It4_Value + " / " + NowCompose.it4_value;
                    if (It4_Value != NowCompose.it4_value)
                    {
                        Panel2_Mat4.color = Alpha_half;
                    }
                    else
                    {
                        Panel2_Mat4.color = Alpha;
                    }
                }

                Final_Probability += NowCompose.probability;

                if (Final_Probability > 1f)
                {
                    Final_Probability = 1f;
                }

                Panel4_text.text = (Final_Probability * 100).ToString() + "%";
                Panel5_text.text = NowCompose.cost.ToString("#,##0");
            }
            ComposForm_Mgr.GetInstance.ChangeCompose = false;
        }
    }