#6 Ovrscout
Jedenapulruční? O tom jsem ani neslyšel, ale dvouruční ano.
#7 peter
Prej zkus myslet databázově a programově a napíšeš čistě teoretickej text a tom, jak teoreticky provázat celý tělo na ruzný kombinace, ano některé kombinace (štít + štít dokonce už reálně můžu použít, když někdo bude chtít) ano počítám do budoucna i s váhou itemu, brnění apod (equipload), jinak až tak do detailu, že někdo bude utočit na ruku, nohu, krk apod ... Ne říkal jsem oživím a procvičím C# nedělám žádnou AAA propracovanou gamesu. Čistě základní systém RPGher.
Jinak co si myslíš, že u postavy je ten čtvereček? Ano Layer! Celý systém Layerů je strom (nebo to snad z tý ukázky kodu není poznat, že tam mám strom?) Tzv postava se rozděluje na Hlava, Krk, Hrud, Nohy, Ruce. Ruce mají další části a tak dále... Takže vlastně jsi tu napsal to co je úplně jasný. Jenom ses trošku rozvášnil a předvedl svojí vizi, což ti neberu za zlé, ale do puntíku fakt nehodlám ani jít. Zkušenosti si beru z her co jsem hrál, takže si myslím, že stačí to jen realizovat.
#8 MilanL
Polymorfismus už praktikuju... Jelikož tam v hlavním Layers vracím object (protože části mají jinou class). Ty itemy co nemají další podmnožiny jsou typu ItemLayer (item rozšířen o možnosti layeru/equipu...) a ruce jsou typu HandsLayer. Tzv s polymorfismem pracuju o uroven výš (na Playeru), kde mám vlastně metody Equip/Unequip/Use apod..
Player má v sobě Layers kde defakto mámrozložený typy layeru viz kod, kterým jsem vyřešil práci s layery...
Právě to co řikáš jsme řešil hned jako první věc pole, alenarazil jsme u rukou s tím, že to nešlo do dalších levelů (Hands.Left -> Hands.Left.Ring) ... Já věděl dopředu jak to udělat (teoreticky), ale kodově jsem s tím měl problém, protože práce s tou kolekcí byla otřesná. Nemohl jsem lehce přistupovat k danému itemu a bylo to dost krkolomný. Takhle už od začátku vím, že mám na layeru zbran a potřebuju jí snížit durabilitu ... jednoduše zavolám ((HandsLayer)layers[LayerID])[HandsID][HandID] a hned mám přímo k tomu objektu přístup. Šlo by to k tomu přistupovat i z batohu (jelikož třeba sekera je obsažena v batohu se statusem equipped) ale to bych musel rpojet celej batoh zjistit IDLayerů a podle nich najít tu sekeru a tam jí to snížit... Což dobře je oboje, ale přijde mi víc logicky, že přistoupím přímo k layeru a tam budu obsluhovat objekt, než abych ho obsluhoval z batohu (když je nasazen) ... Ze začátku jsem měl namysli právě to, že se mi to z batohu bude mazat (to by pak nebyla jiná možnost než k tomu tak přistupovat)