Пример #1
0
    public void Selection(GameObject obj)
    {
        SoundManager.Ins.PlaySound(SoundManager.Ins._Select);
        PetData p = obj.GetComponent <PetData>();

        if (int.Parse(countText.text) >= 5 && !p.selected)
        {
            Popup.Ins.PopupOne("Cannot select more than 5 characters.", "OK", null);
            return;
        }

        if (p.color == -1)
        {
            Popup.Ins.PopupOne("Please create an avatar for this pet first.", "OK", null);
            return;
        }

        Popup.Ins.PopupWaiting(true);
        int countIndex = p.transform.parent.childCount;
        int lastSelect = 0;

        for (int i = 0; i < countIndex; i++)
        {
            PetData pp = obj.transform.parent.GetChild(i).GetComponent <PetData>();
            if (pp == null)
            {
                continue;
            }
            if (pp.selected)
            {
                lastSelect = i;
                continue;
            }
        }

        p.selected = !p.selected;
        if (p.selected)
        {
            countText.text = (int.Parse(countText.text) + 1).ToString();
            p.transform.SetSiblingIndex(lastSelect + 1);
        }
        else
        {
            countText.text = (int.Parse(countText.text) - 1).ToString();
            p.transform.SetSiblingIndex(lastSelect);
        }


        p.transform.GetChild(4).GetChild(0).gameObject.SetActive(p.selected);

        SaveSystem.A_EditPet(p, true);
    }
Пример #2
0
    public void CallbackDelete(bool bo)
    {
        if (!bo)
        {
            return;
        }
        Player p = SaveSystem.A_LoadSaveGame();

        for (int i = 0; i < p.pets.Count; i++)
        {
            if (petID == p.pets[i].id)
            {
                p.pets[i].status = -1;
                PetData petData = new PetData();
                petData.CloneData(p.pets[i]);
                SaveSystem.A_EditPet(petData, true, LoadItem);
                popupEdit.SetActive(false);
            }
        }
    }
Пример #3
0
    public void CloseInteract()
    {
        //PetData petData = SaveSystem.A_LoadPet(petAI.id);
        target.transform.localScale = new Vector3(0.3f, 0.3f, 1);
        target.transform.position   = new Vector3(0, -1.5f, 0);
        target.transform.rotation   = Quaternion.identity;
        petAI.rigidbody.constraints = RigidbodyConstraints2D.None;
        petAI.PetAct      = PetActivity.Stand;
        petData.hunger    = (int)petAI.Hunger;
        petData.happiness = (int)petAI.Happiness;

        Transform[] roots = target.GetComponentsInChildren <Transform>();
        foreach (Transform g in roots)
        {
            g.gameObject.layer = 10;
        }

        interactCam.gameObject.SetActive(false);
        SaveSystem.A_EditPet(petData, true);
        if (foodDic.Count > 0)
        {
            SaveSystem.A_SaveListFood(foodDic);
        }
        petAI.Happiness = petAI.Happiness;
        petAI.Hunger    = petAI.Hunger;
        target.layer    = 10;
        timeer          = 0;
        petAI.aleart    = true;
        target          = null;
        petAI           = null;
        interactUI.SetActive(false);
        interactUIBG.SetActive(false);
        foodCanvasList.SetActive(false);
        dressUpBtn.onClick.Invoke();
        gameMode = GameMode.Normal;
    }
Пример #4
0
    public IEnumerator StatusAndRewardCalculator()
    {
        DateTime oldTime;
        int      totalMin = 0;

        if (p.lastTimeInGame != null && p.lastTimeInGame.Length > 0)
        {
            oldTime  = DateTime.Parse(p.lastTimeInGame);
            totalMin = (int)DateTime.Now.Subtract(oldTime).TotalMinutes;
            string datett = DateTime.Now.Year + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00") + DateTime.Now.Hour.ToString("00") + DateTime.Now.Minute.ToString("00");
            string formm  = "yyyyMMddHHmm";
        }

        p.lastTimeInGame = DateTime.Now.ToString();

        SaveSystem.A_SaveGame(p);

        for (int i = 0; i < petList.Count; i++)
        {
            m_Data = SaveSystem.A_LoadPet(petList[i].id);

//            Debug.LogError(m_Data.UUID.Length + "**" + m_Data.UUID);
            if (m_Data.UUID.Length != 10)
            {
                m_Data.UUID = "2019010112";
            }

            string   formm   = "yyyyMMddHH";
            DateTime oldDate = DateTime.ParseExact(m_Data.UUID, formm, null);
            oldTime  = oldDate;
            totalMin = (int)DateTime.Now.Subtract(oldTime).TotalMinutes;
            string newTime = DateTime.Now.Year + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00") + DateTime.Now.Hour.ToString("00") /*+ DateTime.Now.Minute.ToString("00")*/;
//            Debug.LogError(newTime);
            m_Data.UUID = newTime;

            if (!m_Data.selected)
            {
                continue;
            }

            float happy      = petList[i].Happiness;
            float hungy      = petList[i].Hunger;
            float unitPerMin = 0.000115740741f;
            // float unitPerMin = 5f;


            if (Mathf.Abs(((unitPerMin * totalMin) - hungy)) < 40)
            {
                if (hungy > 40f)
                {
                    float earlierMin = (hungy - 40) / unitPerMin;
                    float afterMin   = totalMin - earlierMin;

                    petList[i].Hunger -= unitPerMin * totalMin;

                    petList[i].Happiness -= (unitPerMin / 2) * earlierMin;
                    petList[i].Happiness -= ((unitPerMin / 2) * afterMin) * 2;
                }
                else
                {
                    petList[i].Hunger    -= unitPerMin * totalMin;
                    petList[i].Happiness -= unitPerMin * totalMin;
                }
            }
            else
            {
                petList[i].Hunger    -= unitPerMin * totalMin;
                petList[i].Happiness -= (unitPerMin / 2) * totalMin;
            }
            m_Data.happiness = (int)petList[i].Happiness;
            m_Data.hunger    = (int)petList[i].Hunger;


            //Reward
            getReward = false;
            if (m_Data.lastTimeReward.Length > 0 && petList[i].Happiness >= 50)
            {
                DateTime petDate = DateTime.Parse(m_Data.lastTimeReward);
                if (petDate.Day != DateTime.Now.Day)
                {
                    m_Data.lastTimeReward = DateTime.Now.ToString("yyyy-MM-dd");
                    RandomReward();
                    yield return(null);

                    SoundManager.Ins.PlaySound(SoundManager.Ins._Reward);
                    Popup.Ins.PopupReward(m_Data.namePet + " has a gift for you.", Atlas.Ins.GetSprites(Atlas.Ins.reward.reward)[indexReward], CallbackReward);

                    yield return(new WaitUntil(() => getReward == true));
                }
            }
            if (m_Data.lastTimeReward.Length <= 0)
            {
                Debug.LogError("zxc");
                m_Data.lastTimeReward = DateTime.Now.ToString("yyyy-MM-dd");
                RandomReward();
                yield return(null);

                SoundManager.Ins.PlaySound(SoundManager.Ins._Reward);
                Popup.Ins.PopupReward(m_Data.namePet + " has a gift for you.", Atlas.Ins.GetSprites(Atlas.Ins.reward.reward)[indexReward], CallbackReward);

                yield return(new WaitUntil(() => getReward == true));
            }
            getReward = false;
            SaveSystem.A_EditPet(m_Data, true);

            yield return(null);
        }

        //Daily Reward
        if (PlayerPrefs.HasKey("DailyReward"))
        {
            DateTime dailyTime = DateTime.Parse(PlayerPrefs.GetString("DailyReward"));
            if (dailyTime.Day != DateTime.Now.Day)
            {
                SaveSystem.A_AddCoin(500);
                Popup.Ins.PopupReward("", lottery.point500, null);
                PlayerPrefs.SetString("DailyReward", DateTime.Now.ToString());
            }
        }
        else
        {
            SaveSystem.A_AddCoin(500);
            Popup.Ins.PopupReward("", lottery.point500, null);
            PlayerPrefs.SetString("DailyReward", DateTime.Now.ToString());
        }
    }