Среда, 13 Ноября 2024, 09:27

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Смена оружия в бд
XperДата: Понедельник, 11 Марта 2019, 19:19 | Сообщение # 1
уже был
Сейчас нет на сайте
У меня есть скажем так бд для оружия реализованная через ScriptableObject

Код
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "База данных оружия", menuName = "Weapon/db", order = 1)]
public class WeaponDataBase : ScriptableObject
{
    public List<PistolWeapon> listpw = new List<PistolWeapon>();
    public List<Automato> listAutomato = new List<Automato>();
    public List<Granade> listgrenade = new List<Granade>();
}

вот скрин самой бд

и есть скрипт где я храню эту всю бд как бы на сцене в виде контроллера(который заполняется тогда когда сцена запущенна)

Код

public class CurentDataBase : MonoBehaviour
{
    public WeaponDataBase WDB;
    public List<Weapon> listWeapon = new List<Weapon>();

    private void Awake()
    {
        add_to_total_listPistol(WDB.listpw);
        add_to_total_listAutomato(WDB.listAutomato);
        add_to_total_listGrenade(WDB.listgrenade);
    }

    void add_to_total_listPistol<T>(List<T> itemlisti) where T : Weapon // добавление предметов в колекцию без приведения типа
    {
        foreach (var cur_it in itemlisti)
        {
            listWeapon.Add(cur_it);
        }
    }

    void add_to_total_listAutomato<T>(List<T> itemlisti) where T : Weapon // добавление предметов в колекцию без приведения типа
    {
        foreach (var cur_it in itemlisti)
        {
            listWeapon.Add(cur_it);
        }
    }

    void add_to_total_listGrenade<T>(List<T> itemlisti) where T : Weapon // добавление предметов в колекцию без приведения типа
    {
        foreach (var cur_it in itemlisti)
        {
            listWeapon.Add(cur_it);
        }
    }
}

скрин так же прикрепил

Вопрос вот в чем
Как можно реализовать смену оружия?
Что бы например при нажатии на 1(Alpha1 в юньке) например брался PKM тот же, а при нажатии на 2(Alpha2) например глок и т.д
zhuravelsvДата: Понедельник, 11 Марта 2019, 21:12 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Цитата Xper ()
listpw

Цитата Xper ()
void add_to_total_listGrenade

Цитата Xper ()
public WeaponDataBase WDB;

не по теме: так писать нельзя, это нарушение naming conventions (особенно название метода :'( )
по теме: ловить событие нажатия нужной клавиши (в каком-нибудь котроллере) и менять оружие (на самом деле вариантов много и зависит от того какая роль у твоей бд)?
  • Страница 1 из 1
  • 1
Поиск:

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