Пятница, 19 Апреля 2024, 22:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как сделать файл с ID предметов и их данными
Как сделать файл с ID предметов и их данными
robertonoДата: Среда, 10 Июля 2013, 11:17 | Сообщение # 1
Чокнутый Кот
Сейчас нет на сайте
Как сделать файл - скрипт где можно будет хранить ID вещей и их информацию, например имя и тип.
Нужно класс создавать или что?
А как потом в классе создать разные ID с параметрами?
например
ID : 1
Name : баклажан
Type : овощь

Добавлено (10.07.2013, 00:22)
---------------------------------------------
Только как это в скрипте записать? Будет очень много таких ID . Это я делаю для того что бы можно было из инвентаря по ID найти предмет, его префаб, и дропнуть вещь. Да и чтоб можно было как то её через команду получить. /give ID smile

Добавлено (10.07.2013, 11:17)
---------------------------------------------
Что, никто не знает что ле? sad Нужно сделать как в майнкрафте. ИД предметов.

JHawkДата: Среда, 10 Июля 2013, 11:24 | Сообщение # 2
めゃくちゃちゃ
Сейчас нет на сайте
robertono, попробуй создать ArrayList

Код

using System.Collections.Generic//Обязательно впиши в начало!!!
//---- после основного класса
[System.Serializable]
public class Test{
public string name;
public int ID;
public Texture Icon;
}
public List<Test> test;
//------------------------------

Когда то сам на этом долго висел.
Надеюсь дальше сам додумаешься) Удачи тебе)
P.S С тебя плюсик biggrin


Сообщение отредактировал JHawk - Среда, 10 Июля 2013, 11:26
robertonoДата: Среда, 10 Июля 2013, 15:36 | Сообщение # 3
Чокнутый Кот
Сейчас нет на сайте
Цитата (JHawk)
Надеюсь дальше сам додумаешься) Удачи тебе)

незнаю незнаю, я в этом ещё слаб))) Давай ты мне покажешь как сделать таких 2 итема, т.е. 2 айди с параметрами smile И тогда дам 3 +
AlexSДата: Среда, 10 Июля 2013, 16:29 | Сообщение # 4
был не раз
Сейчас нет на сайте
Работай с XML.
Создавай объект, а потом "serialize" его с XML.
Вот пример:
http://www.jonasjohn.de/snippets/csharp/xmlserializer-example.htm
robertonoДата: Среда, 10 Июля 2013, 16:39 | Сообщение # 5
Чокнутый Кот
Сейчас нет на сайте
AlexS, спасибо, почитаю, посмотрю smile
AlastarДата: Среда, 10 Июля 2013, 17:21 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
Цитата (AlexS)
Работай с XML.
Создавай объект, а потом "serialize" его с XML.
Вот пример:
http://www.jonasjohn.de/snippets/csharp/xmlserializer-example.htm

XML не удобен в том, что он не сохраняет недоступные поля. Лучше использовать SOAP, и еще какой то формат есть, я уже забыл.


Big Boobs (+18 only!)
pixeyeДата: Пятница, 19 Июля 2013, 07:39 | Сообщение # 7
Red Winter Software
Сейчас нет на сайте
xml файл

Код
<traits>
<trait id="berseker" name="Берсекер" sprID="trait_berseker"></trait>  
<trait id="phisProtection" name="Броня" sprID="trait_phisResist"></trait>
<trait id="poison" name="Яд" sprID="trait_poison"></trait>
<trait id="thief" name="Вор" sprID="trait_thief"></trait>
<trait id="coward" name="Трус" sprID="trait_coward"></trait>
<trait id="resurection" name="Воскрешение" sprID="trait_resurection"></trait>
<trait id="toxic" name="Токсичен" sprID="trait_toxic"></trait>  
<trait id="manaBurner" name="Манасжигатель" sprID="trait_manaBurner"></trait>
<trait id="horrendous" name="Страшила" sprID="trait_horrendous"></trait>
<trait id="shaman" name="Шаман" sprID="trait_horrendous"></trait>
<trait id="cutthroat" name="Головорез" sprID="trait_horrendous"></trait>
</traits>


Какойнибудь класс типа xmlParser

Код
using UnityEngine;  
using System;  
using System.Collections;
using System.Collections.Generic;  
using System.Xml;  
using System.IO;

public static xmlParser instance;

//------------------------------------------------------------------------------
  //CONSTRUCTOR
  //------------------------------------------------------------------------------  
  public static xmlParser Instance {  
   
   get {
    if (instance == null) {
     instance = new GameObject ("xmlParser").AddComponent ("xmlParser") as xmlParser;
    }
              
    return instance;
   }
  }

   public Dictionary<string,Hashtable> LoadTraitsInfo ()
  {  
   Dictionary<string,Hashtable> temp_Traits = new Dictionary<string, Hashtable> ();
   string path = "Data/traits";
   XmlDocument xmlDoc = new XmlDocument ();
   TextAsset xmlData = new TextAsset ();
   xmlData = (TextAsset)Resources.Load (path, typeof(TextAsset));
   xmlDoc.LoadXml (xmlData.text);
   XmlNodeList _List = xmlDoc.GetElementsByTagName ("trait");
   if (_List.Count == 0) {
    Debug.Log ("No trait available to load");
    return null;
   }
    
    
   string Name;
   string sprID;
   string id;
    
    
   foreach (XmlElement m in _List) {  
    id = (string)m.Attributes ["id"].Value;
    Name = (string)m.Attributes ["name"].Value;  
    sprID = (string)m.Attributes ["sprID"].Value;
    Hashtable hash = new Hashtable ();
    hash.Add ("id", id);
    hash.Add ("Name", Name);
    hash.Add ("sprID", sprID);
     
    temp_Traits.Add (id, hash);  
   }
       
   Debug.Log ("traits LOADED: " + _List.Count);
   
   return temp_Traits;
    
  }


Какойто класс:

Код
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public Dictionary<string,Hashtable> traitsDescription = new Dictionary<string, Hashtable>();

void Start(){  
traitsDescription = xmlParser.Instance.LoadTraitsInfo ();
}


string path = "Data/traits"; <- кладется в папку Resources


ACTORS - мой фреймворк на Unity
Until We Die - игра над которой работаю

TideSДата: Пятница, 19 Июля 2013, 07:55 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
pixeye, Кто-то еще называет классы с маленькой буквы?
Пофикси на XMLParser, что бы те, кто это скопипастят знали как правильно делать нужно.
pixeyeДата: Пятница, 19 Июля 2013, 08:19 | Сообщение # 9
Red Winter Software
Сейчас нет на сайте
Цитата (TideS)
pixeye, Кто-то еще называет классы с маленькой буквы?
Пофикси на XMLParser, что бы те, кто это скопипастят знали как правильно делать нужно.


те кто копипастят ничего не знают, не имеет значения как ты называешь класс.


ACTORS - мой фреймворк на Unity
Until We Die - игра над которой работаю

Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как сделать файл с ID предметов и их данными
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг