2015-11-10 2 views
1

Вот мой пример класс называется игрокрасширения класса (player.STR к player.Stats.STR)

public class Player { 

    public int STR; 
    public int INT; 
    public int DEX; 
    public int VIT; 

    public Player() { 
     STR = 1; 
     INT = 1; 
     DEX = 1; 
     VIT = 1; 
    } 

    public Player Stats { 
     get { 
      return STR; 
      return INT; 
      return DEX; 
      return VIT; 
     } 
     set { 
      STR = value; 
      INT = value; 
      DEX = value; 
      VIT = value; 
     } 
    } 
} 
public Player player = new Player(); 

Я использовал это по телефону: player.STR
Я хочу использовать это по телефону: player.Stats.STR
это своего рода работает в коде, но после компиляции у меня есть эта ошибка:

Assets/PlayerAI.cs(62,33): error CS0029: Cannot implicitly convert type `int' to `PlayerAI.Player' 

Как это исправить? Что случилось с этим кодом?

ответ

2

Вам необходимо вернуть класс с такой статистикой. Создайте еще один класс под названием «Статистика». Добавьте свойство в класс Player, а затем получите доступ к нему так, как вы его показали.

public class Player 
    { 

     public class Statistics 
     { 

      public int STR; 
      public int INT; 
      public int DEX; 
      public int VIT; 
     } 

     public Player() 
     { 
      this.Stats = new Player.Statistics() 
      { 
       STR = 1, 
       INT = 1, 
       DEX = 1, 
       VIT = 1 
      }; 
     } 

     public Statistics Stats {get;set;} 

    } 
+0

Работает как очарование. Спасибо за объяснение. – Oen44