danilaxxl danilaxxl

CollectableItemData.cs

[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]

GoloGames GoloGames

vadya_ivan, рад, что вам игра показалась интересной : )

P.S. Кстати уже доступна бесплатная демо-версия в Steam

vadya_ivan vadya_ivan

Визуал, задумка, музыка , механики, все в цель

GoloGames GoloGames

Ato_Ome, спасибо за позитивные эмоции, будем стараться : )

Ato_Ome Ato_Ome

Потрясающий результат, все так четенько, плавненько)
То ли саунд, то ли плавность напомнили мне игрушку World of Goo, удачи вам в разработке и сил побольше дойти до релиза!)

Cute Fox Cute Fox

Graphics are a little cool, good HD content. But this game doesn't cause nary interest me.
However the game is well done.

GMSD3D GMSD3D

Почему действие после всех условий выполняется?
[step another object]

Zemlaynin Zemlaynin

Jusper, Везде, но наугад строить смысла нет. Нужно разведать сперва территорию на наличие ресурсов.

Jusper Jusper

Zemlaynin, а карьеры можно будет везде запихать?
Или под них "особые" зоны будут?

Zemlaynin Zemlaynin

Это так скажем тестовое строительство, а так да у города будет зона влияния которую нужно будет расширять.

Jusper Jusper

А ссылка есть?

Jusper Jusper

Я не оч понял из скриншота, как вообще работает стройка. У игрока будет как бы поле строительства?

split97 split97

в игру нужно добавить время песочные часы в инвентаре, пока бегаешь наберается усталость и ты очень тормозной мобильный враг просто убевает

split97 split97

в игру нужно добавить время песочные часы в инвентаре, пока бегаешь наберается усталость и ты очень тормозной мобильный враг просто убевает

ViktorJaguar ViktorJaguar

Почему я нигде не могу найти нормальный туториал, где покажут как экипировать предмет (например, меч) в определенную (выделенную под оружие) ячейку???

Логотип проекта Unity

Нажатие Button

Это опять я... :)
Делаю систему скрытия и отображения панелей. Запихнул все нужные панели и кнопки соответствующие панелям в массив.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GamePanelsSystem : MonoBehaviour
{
    public static GameObject [] panel;
    public static GameObject[] buttonpanel;
}
public class GamePanels : MonoBehaviour
{
    public GameObject Gpanel;
    public GameObject button;
    private void Start()
    {
        
    }

    public void PanelOff(Тута Я хз bttn)
    {

        for (int x = 0; GamePanelsSystem.panel[x] == null; x++)
        {
            Gpanel = GamePanelsSystem.panel[x];
            if (bttn == GamePanelsSystem.buttonpanel[x])
            {
                Gpanel.SetActive(true);
            }
            else Gpanel.SetActive(false);
        }
    }
    public void SavePanel()
    {
        GamePanelsSystem.panel[0] = GameObject.Find("PanelHome");
        GamePanelsSystem.panel[1] = GameObject.Find("PanelQuests");
        GamePanelsSystem.panel[2] = GameObject.Find("PanelEvents");
        GamePanelsSystem.panel[3] = GameObject.Find("PanelKnights");
        GamePanelsSystem.panel[4] = GameObject.Find("PanelTraining");
        GamePanelsSystem.panel[5] = GameObject.Find("PanelBuilding");
        GamePanelsSystem.panel[6] = GameObject.Find("PanelRecruits");
        GamePanelsSystem.panel[7] = GameObject.Find("PanelGold");
        GamePanelsSystem.buttonpanel[0] = GameObject.Find("ButtonHome");
        GamePanelsSystem.buttonpanel[1] = GameObject.Find("ButtonQuests");
        GamePanelsSystem.buttonpanel[2] = GameObject.Find("ButtonEvents");
        GamePanelsSystem.buttonpanel[3] = GameObject.Find("ButtonKnights");
        GamePanelsSystem.buttonpanel[4] = GameObject.Find("ButtonTraining");
        GamePanelsSystem.buttonpanel[5] = GameObject.Find("ButtonBuilding");
        GamePanelsSystem.buttonpanel[6] = GameObject.Find("ButtonRecruits");
        GamePanelsSystem.buttonpanel[7] = GameObject.Find("ButtonGold");
    }


}

Хотел перебором скрывать и показывать нужные панели, но случилось непредвиденное. Оказывается нельзя определить какой конкретно butten ты нажимаешь без свистоперделок? :(

Ответ

При этом число рыцарей мб рандомным, и новые рыцари могут генерироваться по ходу игры. Через On Click кажется не вариант. Есть статьи про менеджер UI на русском? D:

Делаешь UI менеджер и делаешь конфиг рыцарей. Когда игрок нажимает на рыцаря, UI менеджер ловит это через Listener, дергает его параметры и передает в окно. Окно при появлении делает update данных и отрисовывает результат. Массив рыцарей делаешь динамическим. Сам же префаб объекта оставляешь логически одним, подменяя только визуальное содержимое.

Структурно:

  • Определяешь структуру UI - кнопки, панельки, данные.
  • Определяешь массив рыцарей.
  • Делаешь конфиг каждого рыцаря (имя, статы, спрайт).
  • Определяешь массив соотв.
  • По нажатию на кнопку дергаешь - стасты, передаешь данные, апдейтишь визуалку и активируешь панельку

Смотрите также:


Комментарии



Оказывается нельзя определить какой конкретно butten ты нажимаешь без свистоперделок? :(

Давай конкретнее кейс.
У тебя есть панельки, когда ты нажимаешь на кнопку панелька открывается/появляется. Так?

У меня есть одинаковые панельки. Когда я нажимаю уcловно button "Quests", выводится панелька "Quests", а все другие панельки закрываются. Ну и с другими панельками аналогично.
Мне просто показалось, что через On Click () душновато эти 50 панелек закрывать и открывать.

Вариантов не так много.
Либо ты делаешь через событие нажатия On Click, либо делаешь менеджер UI, который будет обрабатывать нажатие конкретной кнопки (а ее тоже надо будет определить) и set active для назначенного объекта.
Та же возня, только кодом.

Jusper, смотри, что я хочу сделать. У меня будет таблица (панель) со списком "рыцарей". При нажатии на любого рыцаря из списка будет открываться отдельная панель с его параметрами. При этом число рыцарей мб рандомным, и новые рыцари могут генерироваться по ходу игры. Через On Click кажется не вариант. Есть статьи про менеджер UI на русском? D:

Я думал игру чисто через интерфейс сделать будет прикольная легкая тема, а тут оказывается свои заморочки. Юнити как-то душит на пустом месте, постоянно мне какую-то свинью подкладывает. >_<

При этом число рыцарей мб рандомным, и новые рыцари могут генерироваться по ходу игры. Через On Click кажется не вариант. Есть статьи про менеджер UI на русском? D:

Делаешь UI менеджер и делаешь конфиг рыцарей. Когда игрок нажимает на рыцаря, UI менеджер ловит это через Listener, дергает его параметры и передает в окно. Окно при появлении делает update данных и отрисовывает результат. Массив рыцарей делаешь динамическим. Сам же префаб объекта оставляешь логически одним, подменяя только визуальное содержимое.

Структурно:

  • Определяешь структуру UI - кнопки, панельки, данные.
  • Определяешь массив рыцарей.
  • Делаешь конфиг каждого рыцаря (имя, статы, спрайт).
  • Определяешь массив соотв.
  • По нажатию на кнопку дергаешь - стасты, передаешь данные, апдейтишь визуалку и активируешь панельку

статьи про менеджер UI на русском? D:

Вот один из примеров: https://habr.com/ru/post/472770/

Jusper, спасибо. Еще короткий вопрос: можно же как-то отследить нажатие на коллайдер и то на какой именно коллайдер было совершено нажатие? Если ответ - да и да, то можешь закрывать тему.

Diabfall,

Jusper, спасибо. Еще короткий вопрос: можно же как-то отследить нажатие на коллайдер и то на какой именно коллайдер было совершено нажатие? Если ответ - да и да, то можешь закрывать тему.

Да, можно.
Используй Physics.Raycast() на луче camera.ScreenPointToRay().
НО!
Если я правильно тебя понял, то лучше тебе не меш коллайдер использовать, а RenderTexture, в который у тебя будет транслироваться персонаж на камеру. Но много таких объектов - нагрузка, если мы говорим о мобилках, поэтому использовать надо с умом.

Возможность добавлять комментарии была ограничена