Skip to main content

032. Unity3d Tutorial - PlayerPrefs 6/x

See video

We continue with another tutorial in our Hack And Slash demo made with the Unity3d Game Engine.

In this video, We will finish setting our character up so that we can easily save and load its data in Unity using the class PlayerPrefs.

Unity API: 
Tags:

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Offline
Joined: Jan 31 2011

Assets/Scripts/Character Classes/GameSettings.cs(39,64): error CS0019: Operator `+' cannot be applied to operands of type `method group' and `string'

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 39)

Assets/Scripts/Character Classes/GameSettings.cs(39,37): error CS1502: The best overloaded method match for `UnityEngine.PlayerPrefs.SetString(string, string)' has some invalid arguments

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 39)

Assets/Scripts/Character Classes/GameSettings.cs(39,37): error CS1503: Argument `#1' cannot convert `object' expression to type `string'

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 39)

Assets/Scripts/Character Classes/GameSettings.cs(43,99): error CS1061: Type `PlayerCharacter' does not contain a definition for `GetSkillName' and no extension method `GetSkillName' of type `PlayerCharacter' could be found (are you missing a using directive or an assembly reference?)

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 43)

Assets/Scripts/Character Classes/GameSettings.cs(43,37): error CS1502: The best overloaded method match for `UnityEngine.PlayerPrefs.SetInt(string, int)' has some invalid arguments

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 43)

Assets/Scripts/Character Classes/GameSettings.cs(43,37): error CS1503: Argument `#2' cannot convert `object' expression to type `int'

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 43)

Assets/Scripts/Character Classes/GameSettings.cs(44,102): error CS1061: Type `PlayerCharacter' does not contain a definition for `GetSkillName' and no extension method `GetSkillName' of type `PlayerCharacter' could be found (are you missing a using directive or an assembly reference?)

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 44)

Assets/Scripts/Character Classes/GameSettings.cs(44,37): error CS1502: The best overloaded method match for `UnityEngine.PlayerPrefs.SetInt(string, int)' has some invalid arguments

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 44)

Assets/Scripts/Character Classes/GameSettings.cs(44,37): error CS1503: Argument `#2' cannot convert `object' expression to type `int'

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 44)

Assets/Scripts/Character Classes/GameSettings.cs(46,64): error CS0019: Operator `+' cannot be applied to operands of type `method group' and `string'

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 46)

Assets/Scripts/Character Classes/GameSettings.cs(46,94): error CS1061: Type `PlayerCharacter' does not contain a definition for `GetSkillName' and no extension method `GetSkillName' of type `PlayerCharacter' could be found (are you missing a using directive or an assembly reference?)

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 46)

Assets/Scripts/Character Classes/GameSettings.cs(46,37): error CS1502: The best overloaded method match for `UnityEngine.PlayerPrefs.SetString(string, string)' has some invalid arguments

(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 46)

Assets/Scripts/Character Classes/GameSettings.cs(46,37): error S1503: Argument `#1' cannot convert `object' expression to type `string'
(Filename: Assets/Scripts/Character Classes/GameSettings.cs Line: 46)

and in GameSetting.cs i have


for (int cnt = 0; cnt < Enum.GetValues (typeof(VitalName)).Length; cnt++) {
PlayerPrefs.SetInt(((VitalName)cnt).ToString () + " - BaseValue", pcClass.GetVital(cnt).BaseValue);
PlayerPrefs.SetInt(((VitalName)cnt).ToString () + " - Exp To Level", pcClass.GetVital(cnt).ExpToLevel);
PlayerPrefs.SetInt(((VitalName)cnt).ToString () + " - Cur Value", pcClass.GetVital(cnt).CurValue);

PlayerPrefs.SetString(((VitalName)cnt).ToString + " - Mods", pcClass.GetVital(cnt).GetModifyingAttrituesString());

}
for (int cnt = 0; cnt < Enum.GetValues (typeof(SkillName)).Length; cnt++) {
PlayerPrefs.SetInt(((SkillName)cnt).ToString () + " - BaseValue", pcClass.GetSkillName(cnt).BaseValue);
PlayerPrefs.SetInt(((SkillName)cnt).ToString () + " - Exp To Level", pcClass.GetSkillName(cnt).ExpToLevel);

PlayerPrefs.SetString(((SkillName)cnt).ToString + " - Mods", pcClass.GetSkillName(cnt).GetModifyingAttrituesString());
}

but where is the error ><

Thx for your help

Offline
Joined: May 11 2011

check your player character script , half of those errors are becuase your calling a method from player character that doesn't exist or you spelt wrong. hope it helps