私は自分が持っているdcriptに公開オブジェクトを追加することはできません。何よ...スクリプトにカスタムオブジェクトを追加する
public class Player : MonoBehaviour {
public string charName = "";
public int currentLevel = 0;
public int experiense = 0;
public int strength = 1;
public int agility = 1;
public int maxHealth = 30;
public float currentHealth = 30;
public int maxActionPoints = 5;
public int currentLevelPoints = 10;}
iは
public class CharManager : MonoBehaviour {
public GameObject currentCharacter;
public GameObject charMenu;
public Player currentPlayerStats;
public void changeCharacter(GameObject character)
{
if (currentCharacter){
saveCharacter();
}
currentCharacter = character;
loadSavedInfo();
}
void loadSavedInfo()
{
string playerJson = "";
if (currentCharacter.tag== "Man")
{
if (File.Exists(Application.persistentDataPath +"/Char1.json"))
{
playerJson = File.ReadAllText(Application.persistentDataPath +"/Char1.json");
}
}
else
{
if (File.Exists(Application.persistentDataPath +"/Char2.json"))
{
playerJson = File.ReadAllText(Application.persistentDataPath +"/Char2.json");
}
}
if (playerJson != string.Empty)
{
Player thePlayer = JsonConvert.DeserializeObject<Player>(playerJson);
currentPlayerStats = thePlayer;
}
else
{
currentPlayerStats = gameObject.AddComponent<Player>() as Player;
}
}
このコードは、新しいプレーヤーのコンポーネントを追加し、currentPlayerStatsクラスCharManagerを持って
このクラスでパブリックプロパティを追加する別のスクリプトがあります: コードがあります私は間違っている? ご迷惑をおかけいたします。
ここでコピーしたコードから、PlayerクラスはMonoBehaviour ..であってはならないと思われます。それは単なる統計値を保持しています、おそらくそれをMonoBehaviourではないようにしようとしますか? – johnkork
私はそれをやろうとしました。だから私は別のスクリプトからこのプロパティを取得できますか? GetComponentは機能しません。 – Pavel