W skrócie mój dylemat jest taki:
generuję sobię grid powiedzmy 10x10 kratek. Mamy "postać", która porusza się po tym gridzie w następujący sposób:
Jej startowa pozycja to powiedzmy x: 1, y: 1.
Nasłuchuję onkeydown eventów i odpowiednio poprzez reduxa i akcje ustawiam nowa pozycję ludzika. Czyli po wciśnięciu klawisza strzałka w górę, wysyłamy akcję, że y++.
Chcę jednak niektóre elementy grida zablokować, by postać nie mogła na nie wejść i nie wiem jakie byłoby najlepsze rozwiązanie.
Pierwsze co przychodzi do głowy:
- komórce grida, która jest obiektem, poza x i y nadac jeszcze atrybut "blocked" czy coś w tym stylu.
- Stworzyć nową "postać widmo" i wysłać ją jako zwiadowcę. Jeśli po zmianie pozycji nowa komórka nie ma atrybuty blocked to prawdziwa postać przejdzie normalnie razem ze zwiadowcą. Jeśli jest blocked, to dispatch dla postaci nie przechodzi.
Jednak jest to pewnie mało eleganckie rozwiązanie i można sprawdzić to inaczej. Mogę liczyć na jakies pomysły? Kod mogę wstawić co mam, jak będzie potrzebny, ale mam nadzieję, że w miarę jasno opisałem problem.