コード例 #1
0
    void addAchievement(int id)
    {
        Achievement achievementToAdd = database.FetchAchievementByID(id);

        for (int i = 0; i < achivements.Count; i++)
        {
            if (achivements[i].id == -1)
            {
                achivements[i] = achievementToAdd;
                GameObject animalObj = Instantiate(InventoryAchievement);
                animalObj.transform.SetParent(slots[i].transform);
                animalObj.transform.position = Vector2.zero;
                animalObj.transform.GetChild(0).GetComponent <Text>().text = achievementToAdd.name;
                animalObj.name = achievementToAdd.name;

                int progress = (int)animalObj.transform.GetChild(1).GetComponent <RectTransform>().rect.width / achievementToAdd.requirement;
                int progressTxt;
                // Set progress bar
                if (achievementToAdd.requirement <= PlayerPrefs.GetInt(achievementToAdd.type))
                {
                    progress    = (int)animalObj.transform.GetChild(1).GetComponent <RectTransform>().rect.width;
                    progressTxt = achievementToAdd.requirement;
                }
                else
                {
                    progress   *= PlayerPrefs.GetInt(achievementToAdd.type);
                    progressTxt = PlayerPrefs.GetInt(achievementToAdd.type);
                }
                animalObj.transform.GetChild(1).GetChild(0).GetComponent <RectTransform>().offsetMin = new Vector2(progress, 0);
                animalObj.transform.GetChild(1).GetChild(1).GetComponent <Text>().text = progressTxt + "/" + achievementToAdd.requirement;
                break;
            }
        }
    }