C# 通过playerprefs保存统一被窃听?
对不起,我知道我包括了所有的代码,但我真的找不到错误:我播放并保存,在我用C# 通过playerprefs保存统一被窃听?,c#,unity3d,save,C#,Unity3d,Save,对不起,我知道我包括了所有的代码,但我真的找不到错误:我播放并保存,在我用BuyTaxes或Buymarket购买东西后,退出并停止它,然后再次播放它,它显示所有UI显示,所有市场价格和折扣使用设置为0。但我不明白为什么 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class GameScript : MonoBehavio
BuyTaxes
或Buymarket
购买东西后,退出并停止它,然后再次播放它,它显示所有UI显示,所有市场价格和折扣使用设置为0。但我不明白为什么
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GameScript : MonoBehaviour
{
public Text GoldText;
public Text ArmyPowerText;
public Text PlayerNametext;
public Text Button1Text;
public Text Button2Text;
public int gold;
public int armypower;
public string PlayerName;
public int Level;
public int Income;
public int incomeboost;
public int discount;
public float lvlremainder;
public GameObject ButtonHolder;
public Slider LevelBar;
public float LevelProgress;
private float FillSpeed = 0.5f;
public GameObject UIHolder;
public GameObject StartForm;
public InputField NameInput;
public GameObject ArmyUI;
public GameObject InvestUI;
public GameObject LaboratoryUI;
private float time = 0.0f;
public float IncomePerdiod = 5f;
public bool GameStart = true;
//Invest Prices
//Market
public int marketprice;
public int marketlevel;
public Text marketpricetext;
public Text markettext;
//Taxes
public int taxesprice;
public int taxeslevel;
public Text taxespricetext;
public Text taxestext;
void Start()
{
Load();
if(GameStart == true)
{
gold = 100;
armypower = 0;
Level = 1;
LevelProgress = 0;
//Laboratory
discount = 1;
Income = 1;
incomeboost = 1;
//Invest
marketlevel = 0;
taxeslevel = 0;
ArmyUIHide();
InvestUIHide();
ButtonHide();
UIHide();
StartForm.SetActive(true);
Save();
}
if (GameStart == false)
{
StartForm.SetActive(false);
ArmyUIHide();
InvestUIHide();
ButtonShow();
UIShow();
Save();
}
}
void Update()
{
if(time >= IncomePerdiod)
{
time = 0.0f;
gold += Income * incomeboost;
}
time += Time.deltaTime;
Save();
GoldText.text = "Gold: " + gold;
ArmyPowerText.text = "Army Power: " + armypower;
PlayerNametext.text = PlayerName + " LVL " + Level;
//Market
markettext.text = "Market LVL " + marketlevel;
marketpricetext.text = marketprice.ToString();
marketprice = 50 * discount;
//Taxes
taxestext.text = "Taxes LVL " + taxeslevel;
taxespricetext.text = taxesprice.ToString();
taxesprice = 250 * discount;
if (LevelBar.value < LevelProgress)
{
LevelBar.value += FillSpeed * Time.deltaTime;
}
if (LevelBar.value > LevelProgress)
{
LevelBar.value = LevelProgress;
}
if (LevelProgress >= 1)
{
Level++;
LevelProgress = 0;
}
}
public void Save()
{
//UI
PlayerPrefs.SetString("gold", gold.ToString());
PlayerPrefs.SetString("armypower", armypower.ToString());
PlayerPrefs.SetString("GameStart", GameStart.ToString());
PlayerPrefs.SetString("PlayerName", PlayerName.ToString());
PlayerPrefs.SetString("Level", Level.ToString());
PlayerPrefs.SetString("LevelProgress", LevelProgress.ToString());
//Laboratory
PlayerPrefs.SetString("discount", discount.ToString());
PlayerPrefs.SetString("Income", Income.ToString());
PlayerPrefs.SetString("incomeboost", incomeboost.ToString());
//Invest
PlayerPrefs.SetString("marketlevel", marketlevel.ToString());
PlayerPrefs.SetString("taxeslevel", taxeslevel.ToString());
}
public void Load()
{
//UI
gold = int.Parse(PlayerPrefs.GetString("gold", "100"));
armypower = int.Parse(PlayerPrefs.GetString("armypower", "0"));
GameStart = bool.Parse(PlayerPrefs.GetString("GameStart", "true"));
PlayerName = PlayerPrefs.GetString("PlayerName", "Guest");
Level = int.Parse(PlayerPrefs.GetString("Level", "1"));
LevelProgress = int.Parse(PlayerPrefs.GetString("LevelProgress", "0"));
//Laboratory
discount = int.Parse(PlayerPrefs.GetString("discount", "1"));
Income = int.Parse(PlayerPrefs.GetString("Income", "1"));
incomeboost = int.Parse(PlayerPrefs.GetString("incomeboost", "1"));
//Invest
marketlevel = int.Parse(PlayerPrefs.GetString("marketlevel", "50"));
taxeslevel = int.Parse(PlayerPrefs.GetString("taxeslevel", "250"));
}
public void ButtonHide()
{
ButtonHolder.SetActive(false);
}
public void ButtonShow()
{
ButtonHolder.SetActive(true);
}
public void UIHide()
{
UIHolder.SetActive(false);
}
public void UIShow()
{
UIHolder.SetActive(true);
}
public void ArmyUIShow()
{
ArmyUI.SetActive(true);
}
public void ArmyUIHide()
{
ArmyUI.SetActive(false);
}
public void LaboratoryUIShow()
{
LaboratoryUI.SetActive(true);
}
public void LaboratoryUIHide()
{
LaboratoryUI.SetActive(false);
}
public void InvestUIShow()
{
InvestUI.SetActive(true);
}
public void InvestUIHide()
{
InvestUI.SetActive(false);
}
public void EnterName()
{
PlayerName = NameInput.text;
StartForm.SetActive(false);
UIShow();
GameStart = false;
ButtonShow();
}
public void ArmyClick()
{
ArmyUIShow();
ButtonHide();
LaboratoryUIHide();
InvestUIHide();
}
public void InvestClick()
{
InvestUIShow();
ButtonHide();
LaboratoryUIHide();
ArmyUIHide();
}
public void LaboratoryClick()
{
ArmyUIHide();
ButtonHide();
LaboratoryUIShow();
InvestUIHide();
}
public void Home()
{
ArmyUIHide();
InvestUIHide();
ButtonShow();
LaboratoryUIHide();
}
//Buy Invest
public void BuyMarket()
{
if(gold >= marketprice && marketlevel < 5)
{
marketlevel++;
Income += 1;
gold -= marketprice;
if (LevelProgress < 1f - 0.05f)
{
LevelProgress += 0.15f;
}
else
{
lvlremainder += (LevelProgress + 0.05f - 1f);
Level++;
LevelProgress = 0;
LevelProgress += lvlremainder;
}
}
}
public void BuyTaxes()
{
if (gold >= taxesprice && taxeslevel < 10)
{
taxeslevel++;
Income += 3;
gold -= taxesprice;
if (LevelProgress < 1f - 0.15f)
{
LevelProgress += 0.15f;
}
else
{
lvlremainder += (LevelProgress + 0.15f - 1f);
Level++;
LevelProgress = 0;
LevelProgress += lvlremainder;
}
}
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
使用UnityEngine.UI;
公共类游戏脚本:单行为
{
公共文本;
公共文本ArmyPowerText;
公共文本播放器;
公共文本按钮1文本;
公共文本按钮2文本;
公共黄金;
公共军力;
公共字符串播放器名称;
公共智力水平;
公共收入;
公共收入促进;
公共折扣;
公共浮动lvlremainder;
公共游戏对象按钮盒;
公共滑杆;
公众参与和进步;
专用浮子填充速度=0.5f;
公共游戏对象持有者;
公共游戏对象启动模式;
公共输入字段名称输入;
公共游戏对象ArmyUI;
公开游戏对象投资;
公共游戏对象实验室UI;
专用浮动时间=0.0f;
公共浮动收益率=5f;
public bool GameStart=true;
//投资价格
//市场
公开市场价格;
公共层面;
公共文本;
公共文本;
//税
公共精神;
公共税收水平;
公共文本;
公共文本;
void Start()
{
加载();
如果(GameStart==true)
{
黄金=100;
军力=0;
级别=1;
LevelProgress=0;
//实验室
折扣=1;
收入=1;
incomeboost=1;
//投资
市场水平=0;
税级=0;
ArmyUIHide();
InvestUIHide();
钮扣边();
UIHide();
StartForm.SetActive(true);
Save();
}
如果(GameStart==false)
{
StartForm.SetActive(false);
ArmyUIHide();
InvestUIHide();
按钮显示();
UIShow();
Save();
}
}
无效更新()
{
如果(时间>=IncomePerdiod)
{
时间=0.0f;
黄金+=收入*incomeboost;
}
time+=time.deltaTime;
Save();
GoldText.text=“黄金:”+黄金;
ArmyPowerText.text=“陆军力量:”+armypower;
PlayerNametext.text=PlayerName+“LVL”+级别;
//市场
markettext.text=“市场级别”+市场级别;
marketpricetext.text=marketprice.ToString();
市场价格=50*折扣;
//税
taxestext.text=“Taxes LVL”+taxeslevel;
taxespricetext.text=taxesprice.ToString();
税费=250*折扣;
if(LevelBar.valueLevelProgress)
{
LevelBar.value=LevelProgress;
}
如果(LevelProgress>=1)
{
级别++;
LevelProgress=0;
}
}
公共作废保存()
{
//用户界面
PlayerPrefs.SetString(“gold”,gold.ToString());
PlayerPrefs.SetString(“armypower”,armypower.ToString());
PlayerPrefs.SetString(“GameStart”,GameStart.ToString());
PlayerPrefs.SetString(“PlayerName”,PlayerName.ToString());
PlayerPrefs.SetString(“Level”,Level.ToString());
PlayerPrefs.SetString(“LevelProgress”,LevelProgress.ToString());
//实验室
PlayerPrefs.SetString(“折扣”,折扣.ToString());
PlayerPrefs.SetString(“Income”,Income.ToString());
PlayerPrefs.SetString(“incomeboost”,incomeboost.ToString());
//投资
PlayerPrefs.SetString(“marketlevel”,marketlevel.ToString());
PlayerPrefs.SetString(“taxeslevel”,taxeslevel.ToString());
}
公共空荷载()
{
//用户界面
gold=int.Parse(PlayerPrefs.GetString(“gold”,“100”);
armypower=int.Parse(PlayerPrefs.GetString(“armypower”,“0”));
GameStart=bool.Parse(PlayerPrefs.GetString(“GameStart”、“true”);
PlayerName=PlayerPrefs.GetString(“PlayerName”、“Guest”);
Level=int.Parse(PlayerPrefs.GetString(“Level”,“1”));
LevelProgress=int.Parse(PlayerPrefs.GetString(“LevelProgress”,“0”));
//实验室
折扣=int.Parse(PlayerPrefs.GetString(“折扣”,“1”));
Income=int.Parse(PlayerPrefs.GetString(“Income”,“1”));
incomeboost=int.Parse(PlayerPrefs.GetString(“incomeboost”,“1”);
//投资
marketlevel=int.Parse(PlayerPrefs.GetString(“marketlevel”,“50”));
taxeslevel=int.Parse(PlayerPrefs.GetString(“taxeslevel”,“250”);
}
公共无效按钮边()
{
ButtonHolder.SetActive(假);
}
公共无效按钮show()
{
ButtonHolder.SetActive(真);
}
公开作废UIHide()
{
UIHolder.SetActive(false);
}
公营房屋
{
UIHolder.SetActive(true);
}
公共空间ArmyUIShow()
{
ArmyUI.SetActive(真);
}
公共无效ArmyUIHide()
{
ArmyUI.SetActive(false);
}
公共无效实验室UISHOW()
{
laboratoryi.SetActive(true);
}
public void LaboratoryUIHide()
{
laboratoryi.SetActive(false);
}
公营机构
{
InvestUI.SetActive(true);
}
公共无效投资隐藏()
{
InvestUI.SetActive(false);
}
public void EnterName()
{
PlayerName=NameInput.text;
StartForm.SetActive(false);
UIShow();
GameStart=false;
按钮显示();
}
公共无效扶手条()
{
ArmyUIShow();
钮扣边();
LaboratoryUIHide();
InvestUIHide();
}
公共空间单击()
{
调查方法();
钮扣边();
LaboratoryUIHide();
ArmyUIHide();
}
公共无效实验室单击()
{
ArmyUIHide();
钮扣边();
实验室UISHOW();
InvestUIHide();
}
公共屋(
{
ArmyUIHide();
InvestUIHide();
按钮显示();
LaboratoryUIHide();
}
//购买投资
公开市场()
{
如果(黄金>=市场价格和市场水平<5)
{
市场级++;
收入+=1;
黄金-=市场价格;
如果(水平进度<1f-0.05f)
{
LevelProgress+=0.15f;
}
其他的
{
lvlrem
private int Gold
{
get => PlayerPrefs.GetInt("gold");
set => PlayerPrefs.SetInt("gold", value);
}