Как структурировать элементы (как есть разные типы элементов) в организованном и легко управляемом виде.Классическая обработка RPG Обработка
Моя идея - иметь ItemManager, который загружает все предметы и сохраняет их. Однако, это я был не уверен. Только оружие имеет минимальный и максимальный урон. Только доспехи имеют доспехи. Должен ли я хранить их все как предмет?
С наследием я могу решить это (я думаю!).
ItemManager.cs
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class ItemManager : MonoBehaviour {
private static List<Item> items;
public ItemManager() {
items = new List<Item>();
}
void Awake() {
DontDestroyOnLoad (this);
// load all items from file
}
public static int Length {
get {return items.Count;}
}
public static Item Item (int index) {
return items [index];
}
}
Item.cs
using UnityEngine; // only used for debug purposes
public class Item : MonoBehaviour { // : MonoBehaviour are for debug purposes
private string _name;
private string _desc;
private int _maxQuantity; // quest items wont have one
private int _category;
private bool _dropable; // quest items wont have one
private int _price; // quest items wont have one
public Item() {
_name = string.Empty;
_desc = string.Empty;
_quantity = 0;
_maxQuantity = 0;
_category = 0;
_dropable = false;
_price = 0;
}
#region Setters and Getters
public string Name {
get {return _name;}
set {_name = value;}
}
public string Desc {
get {return _desc;}
set {_desc = value;}
}
public int MaxQuantity {
get {return _maxQuantity;}
set {_maxQuantity = value;}
}
public int Category {
get {return _category;}
set {_category = value;}
}
public bool Dropable {
get {return _dropable;}
set {_dropable = value;}
}
public int Price {
get {return _price;}
set {_price = value;}
}
#endregion
}
// enum used to identify categories by name
public enum ItemCategory {
Miscellaneous,
Quest,
Consumable,
Weapon,
Armor,
Gem,
Resource,
};
Я вообще (попробуйте!) Использовать _ в качестве префикса, если переменная имеет поглотитель и/или сеттера ,
Хранение «экземпляров» предметов будет производиться на уровне персонажа/партии. Удерживание Позиция и Количество.
С этим в начале я сталкиваюсь с множеством проблем с тем, как обращаться с фактическим хранением и доступом к переменным.
Как я могу на самом деле обернуть процесс хранения и загрузки элементов?
Этот вопрос не соответствует теме, потому что он принадлежит http://codereview.stackexchange.com/ –
Я взял его http://codereview.stackexchange.com, когда у вас есть код для проверки? Я не знаю, мне нужно знать, как реально реализовать код для его работы. – Emz
просто сделайте это, и вы увидите. – GameAlchemist