Unity PlayerPrefs仅将1个项目保存到所有

时间:2016-10-15 22:00:39

标签: unity3d save

using UnityEngine;

使用System.Collections; 使用UnityEngine.UI;

公共类ItemScript:MonoBehaviour {

public Click click;
public Text MPSInfo;
public ItemManager[] items;

void Start()
{
    LoadItems();
    StartCoroutine(AutoTick());
}

void Update()
{
    MPSInfo.text = "Money/Sec: " + MoneyPerSec();
}

public int MoneyPerSec()
{
    int tick = 0;
    foreach(ItemManager item in items)
    {
        tick += item.count * item.tickValue;
        PlayerPrefs.SetInt(item.ItemName + "Count", item.count);
        PlayerPrefs.SetFloat(item.ItemName + "Cost", item.cost);
        print(item.ItemName);
        print(item.count);
        print(item.cost);
    }
    return tick;
}

public void AutoMoneyPerSec()
{
    Click.money += MoneyPerSec();
}

IEnumerator AutoTick()
{
    while(true)
    {
        AutoMoneyPerSec();
        yield return new WaitForSeconds(1);
    }
}

public void LoadItems()
{
    foreach(ItemManager item in items)
    {
        item.count = PlayerPrefs.GetInt(item.ItemName + "Count");
        item.cost = PlayerPrefs.GetFloat(item.ItemName + "Cost");
        print(item.ItemName);
        print(item.count);
        print(item.cost);
    }
}

}

我有这个脚本,我有2个项目设置,用于测试,但Playerprefs只保存第二个项目和第一个项目。它们的成本相同,而且算上......

1 个答案:

答案 0 :(得分:0)

你从编辑那里得到了什么items

它们是否引用相同的GameObject