Как переместить рамку в инвентарь Unity - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть инвентарь и есть рамка.Перемещение осуществляется в простом массиве

if (Input.GetKeyDown(KeyCode.A)) 
{
    if(indexSlotForFrame - 1 >= 0)
    {
        indexSlotForFrame -= 1;
        leftRight--;
    }
}

if (Input.GetKeyDown(KeyCode.D)) 
{
    if(indexSlotForFrame + 1 <= slots.Count - 1)
    {
        indexSlotForFrame += 1;
        leftRight++;
    }
}  

if (Input.GetKeyDown(KeyCode.W)) 
{
    if(indexSlotForFrame - frameAcross >= 0)
    {
        indexSlotForFrame -= frameAcross;
    }
}   

if (Input.GetKeyDown(KeyCode.S)) 
{
    if(indexSlotForFrame + frameAcross <= slots.Count - 1)
    {
        indexSlotForFrame += frameAcross;
    }
}

, и я просто запоминаю номер и уже перемещаю слот туда

frame.transform.parent = slots[indexSlotForFrame].transform;
frame.transform.position = slots[indexSlotForFrame].transform.position;

Но эта система не удобна, как видноиз кода, потому что, если я хочу открыть сундук, где есть другой массив, я не могу соединить их.Тут может кто-нибудь кинуть мне видео или написать сам, как правильно заставить систему перетаскивать кадр?(инвентарь для игры, который будет на консоли) Для того, чтобы было понятно, как я хочу это сделать, приведу пример:

image - an example

...