Anonymní profil Mutagen – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Mutagen – Programujte.comAnonymní profil Mutagen – Programujte.com

 

Příspěvky odeslané z IP adresy 185.138.71.–

Mutagen
.NET › Nástup na pozici softwarovéh…
8. 3. 2022   #389977

#6 AnonymniKarel
No já mluvil v rámci firmy, to, že nějací vývojáři v jiných firmách berou jiný peníze to je normální, každá firma to má jinak. Pokud jste 2 a máte podobný peníze tak to může znamenat, že moc dobře vědí, že podplácí nebo prostě si myslí, že je to adekvátní cena za tu práci, ale to je věc firmy. Když by jste oba šli a řekli si minimální částku 30k nebo odejdete tak by možná si rozmysleli zda vám to dají a nebo budou hledat nový cvičený opice.

Jinak nedávno se ke mě dostalo od jednoho "projekt manažera" že v jedný firmě v Ostravě platí vývojářům 150kč/hod, když jsem měl od něj dostat zakázku (externě) tak mi řekl, že mojí nabídku nepřijme, že u nich platí programátory za 150kč/hod a že jsem strašně nadhodnocen. Když jsem mu opětoval, že ty programátory tam doslova ojebávaj tak mi bylo jen odpovězeno "Ano ojebáváme, ale můžou bejt rádi, že tady v Ostravě mají práci". Takže si to přeber, jestli tvoje firma to vidí jako adekvátní ohodnocení nebo schválně ojebávaj.

Mutagen
.NET › Nástup na pozici softwarovéh…
8. 3. 2022   #389975

#4 AnonymniKarel
Jo jasný, já to asi blbě pochopil, myslel jsem ,že máš brigádu a chceš někam na fulltime, ale nedošlo mi že myslíš do stejný firmy kde právě děláš brigádničinu. Pokud už tam takhle dlouho děláš tak ve výsledku bys nepotřeboval ani zkušební dobu a tudíž bych byl spíš napozoru, sám asi víš jak to tam chodí. Obecně by bylo i fajn pozjistit kolik berou ostatní vývojáři, zda opravdu firma platí obecně málo nebo to bylo nabídnuto jen tobě. Pokud ostatní berou 30k v čistým a jsi aspon na podobný urovni znalostí, zkusil bych to s těmi 30k a nebo se trhnout a vycestovat do jinýho kraje/města a dívat se po nabídkách.

Já třeba nemám aktuálně špatný peníze, ale s pěnězma to nejde zrovna rychle nahoru jak by asi každej očekával, tak jsem ve svým volným čase začal dělat gamedev a učit se v unity protože do budoucna v tom vidím lepší uplatnění a zároveň mě to i naplnujě a baví. Obecně si myslím, že s mýma znalostma bych našel uplatnění v nějakým herním studiu, ale já mám spíš problém, že se nechci stěhovat z klidného městečka do rušnýho velkoměsta a proto jsem se spíš vydal cestou "přivýdělku" jako indie vývojář na živnost a jen čekám na ten milník, kdy mě to měsíčně zabezpečí tak jako stabilní práce abych se tomu mohl věnovat na fulltime a né jen ve volném čase.

Mutagen
.NET › Nástup na pozici softwarovéh…
8. 3. 2022   #389972

Jak píše Jerry, nástupní bude vždy menší a o to víc si pak řekneš. Ty bys taky nevzal do firmy člověka třeba za 50k v čistým abys za 3 měsíce zjistil, že vlastně umí houvno :)

Já třeba začínal na 15k v čistým jako java vývojář (ale teda vystudovaná jen střední) a později se to zvedlo na  celých 18k!   , ale zpětně vidím, že mě firma jen vykořistovala.

Pokud jsi opravdu schopnej firma ti ráda přidá to co si v rámci mezích pak řekneš.

Mutagen
.NET › Potíže se struct
21. 2. 2022   #389933

#4 BDS
Jojo mě to nedošlo, že to je náš starý známý Montezo, bo sem viděl nový nickname a normální dotaz, později jich přidal víc a hned bylo jasné o koho jde, i po rozkliknutí nicknamu :D

Mutagen
.NET › WPF zdrojákoviště
28. 1. 2022   #389779

#9 hlucheucho
Jak znovu projít důkladně základy? Vždit on si je snad ani neprošel podle těch příspěvků. Spíš je smutný, že tenhle člověk neumí ani použít google tak se není čemu divit, že neumí po pul roce základy programování.

Mutagen
.NET › Chyba CS0246 ??
24. 1. 2022   #389720

#20 hlucheucho
To víš, on nemůže použít hotovej eshop, protože mu tam určitě chybí hromada věcí, co po něm chce někdo (možná šéf) přidat. To je pak jasný, že si to musí upravit podle sebe a nastane takováto situace, že se mu to prostě dojebe. Přesně s tímhle eshopem jsem měl tu možnost pracovat (pomáhal jsem jednomu maturantovi) a v základu šel buildnout bez problémů, takže si to musel dojebat sám :)

Mutagen
.NET › Co značí tato chyba?
24. 1. 2022   #389689

#7 hlucheucho
Nebylo by lepší na něj už vůbec nereagovat? Pokud je to forma zábavy tak to potom chápu, ale už i já se tomu jen tlemim.


#6 Montezo
Už to konečně vzdej, z tebe programátor NIKDY nebude. Věnuj svuj čas něčemu co aspoň umíš udělat aniž by ses někoho musel furt ptát.

Mutagen
.NET › Všechny using?
24. 1. 2022   #389682

#13 hlucheucho
Je to lepič   

jediný co mu možnost nabídne je určitě vygenerovat třídu, ale to bohužel mu nebude stačit, protože tam stejně nebude mít to co přesně potřebuje   

Já se mu spíš divím, že je tak vytrvalej a pořád a pořád se snaží i přes to všechno jakej je to břídil a Jjá si už konečně říkal, že se asi poučil a naučil používat google když tu od něj byla asi týdenní pauza, když nenapsal ani příspěvěk. Ale spíš to vypadalo, že jen neměl čas   

Mutagen
.NET › Cyklus foreach
3. 1. 2022   #389494

#5 hlucheucho

On ale nečte dokumentace, vždit to přece sám v nějkaým vlákně psal, že je to "strášně nepřehledný" :)
PS. asi sem to měl projít celou diskuzi, než jsem to sem též poslal to URL :D

Mutagen
.NET › Cyklus foreach
3. 1. 2022   #389493
Mutagen
.NET › Vytvoření repete
22. 12. 2021   #389309

#3 BDS
Neber mu tu radost z toho, že konečně aspoň něco ví nebo umí :D

Mutagen
.NET › Texture mixer, tvoření masky
17. 12. 2021   #389258

#2 gna
Tak to je docela gol ????

jestli to chápu dobře tak parametry jsou jaký image, v channels vyberu na jakých jsou kanálech a combine je výstup. Takže když budu mít podle týhle teorie tak to bude vypadat pouze při red a blue následovně convert r.png b.png -channel RB -combine out.png

Co sem ted zkoušel tak output vypadá, že by to mohlo být i ono, ještě až budu moct porovnám výstup i z toho TexturePackeru jestli to opravdu sedí.

A ano jde mi přesně o to, to mít co nejrychlejší a co nejmín práce, ono to dělat pro 1k+ materiálů ručně je opravdu akorád tak naodstřel.

Mutagen
.NET › Texture mixer, tvoření masky
17. 12. 2021   #389256

Zdravím,

když poslední dobou vidím, že se tu pohybuje poříd lidí dost tak využiju toho a zeptám se též.

V unity dělám pod HDRP a chci si udělat takový ulehčovántko na tvoření mask textury. Jedná se o mix Metallic, Occlusion, Detail Mask a Smoothness textury do jedné masky. Každá z nich je uložená v jiným kanálu RGBA (https://docs.unity3d.com/…ail-Map.html#…) a tvořit to přes photoshop ke každému materiálu je dost zdlouhavý a otravný proces. Snažil jsem se vyplodit nějaký bmp mixing, ale narazil jsem na problémy.

Zkoušel jsem použít AForge (ReplaceChannel) ale tam mi to hlásilo, že bitmapa musí být Format16bppGrayScale nebo Format8bppIndexed a asi sem to blbě pochopil, použil jsem totiž jen script co udělá z bitmapy grayscale, ale to bohužel nezmění formát tý bitmapy.

Tak se chci zeptat, má někdo s tímto nějakou zkušenost a mohl by mě nasměrovat/pomoct?

Ještě mě napadlo udělat tu appku jako unityprojekt (drag&drop), protože tam už takový packer existuje, ale práce s ním je tak krkolomná, že i přes ten photoshop je to ryhclejší (https://github.com/…xture-packer). Takže ono tohle sice funguje, ale je zbytečně zdlouhavý, ale dalo by se to překopat, protože funcionálně to funguje.

Díky

Mutagen
.NET › Použití ternárního výrazu
15. 12. 2021   #389245

#23 Montezo
Víš, tady nejde o příkazy, že si špatně pamatuješ, od toho je právě našeptávač :), ale o to, že tobě chybí doslova logický myšlení umět si představit logiku toho kodu a jak by měl vypadat.

Problém je to, že i když bys koukal do dokumentace (jako do mat. tabulek) tak stejně nic nevyřešíš, protože jak jsi sám psal, dokumentaci nepoužíváš a přitom je to ta hlavní věc, kterou bys jako totální noob měl mít otevřenou pernamentně na druhým monitoru :) Takže opravdu jsi ztracenej případ :)

Přeji hezký den :)

Mutagen
.NET › Použití ternárního výrazu
14. 12. 2021   #389238

#18 BDS
Když teď řeknu, že můj známej, kterej pálí trávu už přes 15let se za 7 dní dokázal naučit opravdu lehký základy jako je definice promenných, používání, a dokonce i opravdu zlehka i cykly a dokáže si i upravit scripty podle sebe a to používá obyč notepad++ kterej mu ani nenašeptává, tak prostě se s tebou nedá nic jinýho než souhlasit.

Montezo opravdu to vzdej, tohle není vůbec nic pro tebe.

Mutagen
.NET › Použití ternárního výrazu
14. 12. 2021   #389231

#14 BDS
No vidíš a já mam zrovna pocit, že "montezo" je zrovna ten člověk co tu kdysi psal, že jeho šéf mu nařídil naučit se programovat aby možná zůstal ve firmě, že se jeho aktuální pozice bude rušit, nebo něco v tom smyslu.

Pokud je to opravdu on, tak si myslím, že ani tu novou pozici nebude zastávat.

Mutagen
.NET › Použití ternárního výrazu
14. 12. 2021   #389216

#7 hlucheucho
Ano to máš pravdu, že jde vypsat, ale vypíše ti to pouze tak jak je enum definován (bez diakritiky).

Výhoda enumu je, že pokud je to gender maniak, může si tam aspoň vypsat všech 50+ pohlaví :D

Jinak nemyslím si, že takovej balast může mít předlohu v nějaký učebnici.

Mutagen
.NET › Použití ternárního výrazu
14. 12. 2021   #389213

   

enum Pohlavi { Muz, Zena }

Pohlavi pohlavi = Pohlavi.Muz;
swtich (pohlavi)
{
	case Muz: Console.WriteLine("muž"); break;
	case Zena: Console.WriteLine("žena"); break;
}

pohlavi = Pohlavi.Zena;
swtich (pohlavi)
{
	case Muz: Console.WriteLine("muž"); break;
	case Zena: Console.WriteLine("žena"); break;
}
Mutagen
.NET › Co znamená zkratka...?
14. 12. 2021   #389205

#3 Montezo
No a to je takovej problém si to vyzkoušet?

A vůbec nechápu proč zrovna do toho pleteš to jak bys to udělal ty, je to prostě syntaxe, ale pokud pořád v takových věcech pochybuješ, asi bys měl začít tím.

Mutagen
.NET › Ceasarova šifra
14. 12. 2021   #389200

#7 hlucheucho
A nebo aby používal pastebin, když už to nemůže vkládat přímo sem.

Mutagen
.NET › Co znamená zkratka...?
14. 12. 2021   #389199

#1 Montezo
A co třeba si to vyzkoušet? Zabere ti to asi tak 1minutu.

Mutagen
.NET › Nutné schopnosti na trhu
5. 11. 2021   #388925

Podle mě pokud nehledají doslova profesionála, tak šance určitě by byly. Rozhodně bych se nebál toho, že si člověk někde neškrtne, protože každá firma má popř. vlastní systémy, ve kterých je potřeba se orientovat (ale to naučí oni). Pokud znáš syntaxe tak by to určitě problém být neměl.

PS. Delphi mrtvý není, u nás ve firmě je to pořád hlavní jazyk.

Mutagen
.NET › Prostřední hodnota.
1. 11. 2021   #388917

#33 Montezo
"To si pročtu na Wikipedii, a můžu to odvyprávět"

Popravdě, snažíš se učit programovat/vyvýjet, ale dohaduješ se tu s náma o něčem o čem nevíš, že existuje, ale na wiki taky dáváš klíčový slova co ti to má najít. U hledání na google je to to samý. "Nevím, že ¨taková metoda existuje", no tak co třeba to zkusit podle klíčových slov zadat do googlu? Viz jak tu už někdo psal.

Mutagen
.NET › Prostřední hodnota.
29. 10. 2021   #388858

Já bych použil Array.Sort(), pokud víš, že budou vždy 3 hodnoty tak bych to naplnil do arraye, vysortoval a vypsal prostřední číslo

int[] hodnoty = new int[] {40,78, 55 };
int prostredniHodnota = Array.Sort(hodnoty)[1];
 

Mutagen
.NET › Window server - cloud
23. 9. 2021   #388657

A co třeba steam? Tam si můžeš udělat dedikovanej server a přímo jejich api podporuje i to, že hráč založí lobby a ostatní se k němu můžou připojit.

Dokonce mám pocit, že ani nemusíš hru vydat na steamu, postačilo by jí do steamu přiřadit jako lokální aplikaci a mělo by steamAPI taky fungovat. Ale to nemám odzkoušený.

Mutagen
.NET › Dynamické rozložení ovládací…
15. 9. 2021   #388607

#10 Kubas129
Já být tebou tak přejdu na Unity, já sice o Vulkanu nevím nic, ale v Unity už nějaký ten pátek dělám a za mě top i na mobily

Mutagen
.NET › Dynamické rozložení ovládací…
15. 9. 2021   #388594

#1 Kubas129
Já na design aplikace tak aby byla scalovatelná použivám rozložení přes panely s aligmentem, takže při rozšíření/zmenšení okna se vše drží přesně jak má.

Kdybys to dělal v Unity (jak jsem ti jednou říkal, že by to bylo asi jednoduší) tak tam stačí 2-3 řádky co ti vypočítá poměr okna a nascaluje canvas s tvým UI.

Pokud ti jde o ruční nsatavování pozic u komponent tak vždy musíš počítat s komponentou za kterou to chceš dát. Takže pokud máš label3 na pozici podle tvého výpočtu, tak musíš do dalšího výpočtu ho zařadit

textbox.Left = label3.Left + label3.width + mezeraMeziKomponentama

Mutagen
.NET › Server
14. 9. 2021   #388589

Klient pouze přes api co je na serveru a server co komunikuje napřímo s DB.
 

Mutagen
.NET › Nesmyslný error
16. 8. 2021   #388449

#6 BDS
Ber v potaz to, že je to "noob" :)


#5 Kubas129
Jako ale design nic moc no :D tak snad to aspon funguje kodově, jen škoda, že dovolíš hrát jednoho hráče :D

Máš komplet logiku nebo zatím jen tohle?
Tím komplet logikou myslím, i ty kartičky, co tě propustí z žaláře, osvobodí od daní apod? A dal bych opravdu ten obrázek pryč, je to díky tomu fakt nepřehledný, a nevím jestli ten telefon je stahnutý nebo nakreslený, ale vypadá jak reálna fotografie, mžoná by chtělo vše dělat z realistických obrazku nebo vše z naamlovaných, mix prostě nee.

Mutagen
.NET › C# ukazatelé
12. 8. 2021   #388384

#15 Kubas129
No je vidět, že asi nemáš ani základní znalosti v tomhle, ale nevadí.

Stáhni si paint.net ten umí vrstvy a je jednoduchej, v tom to uděláš krásně.

Jinak k problematice netransparentního pozadí

Bitmap bmp = tvujObrazek;
bmp.MakeTransparent(bmp.GetPixel(0, 0));

S tím, že na pixel 0,0 vlozíš barvu, která má být transparentní takže např. bílá

.NET › C# ukazatelé
11. 8. 2021   #388372

#6 Kubas129
Jasný, už asi vím o co ti jde,

zkus přidat do listu referenci playera nikoli jako nový objekt. Ale mam pocit, že pokud budeš mít
Player p = new Player();
list.Add(p);
list2.Add(p);

tak jakmile změníš např p.Name, tak by se to mělo projevit v obouch, ale záleží na tom jak to plníš a jestli to plníš ze stjený instance.

.NET › C# ukazatelé
11. 8. 2021   #388370

Nechci být rýpal, ale příjde mi, že ty vždycky si něco novýho přečteš a hned to musíš zakomponentovat do programu, i když to vůbec ale vůbec není nutný používat. Jinak JerryM ti poslal vše co pravděpodobně potřebuješ.

Jinak "is" a "Equals" se používá.

Mutagen
.NET › Filozofie komunikace klient…
9. 8. 2021   #388361

#18 Kubas129
A to je tak těžký si napsat vlastní proceduru na změnu jak tu někdo už psal?

AddUser, RemoveUser, apod a k tomu udělat jednu univerzální listChanged(list) kde provedeš přesně to co potřebuješ např pošleš klientům a oni si nový list nastaví? Hledáš něco složitého v něčem co je úplně triviální.

Mutagen
.NET › Filozofie komunikace klient…
9. 8. 2021   #388359

#16 Kubas129
Tak co třeba zkusit Unity3D? Též se v tom píše v C# a nemusel bys řešit žádný vlákna (pokud bys vysloveně nechtěl), mnoho návodů skoro na vše, a je to doslova GameEngine, takže lehčí práce s objektama, animacema, apod.

Mutagen
.NET › Filozofie komunikace klient…
9. 8. 2021   #388357

#13 hlucheucho
Já si zase myslím, že si ho spíš ulehčuje a to tím, že píše sem (na české forum) aby jsme mu vymysleli řešení, které si stejně udělá úplně jinak namísto vyhledávání na google, kde vše na co se tu ptal je lehce dohledatelné do pár minut i s examplama.

Pokud jsem to dobře pochopil snaží se udělat něco v XNA (nejsem si přesně jist, ale nepřestal se XNA nějak před několika lety vyvýjet?) Nebylo by pro něj lepší na tu hru použít nějaký gameengine (např. Unity3D též v C#) s tisicema návodů na yt, či dokonce přímo na jejich ofic. stránách?

Mutagen
.NET › Cross-thread operation not v…
3. 8. 2021   #388297

Já když pracuju s vlákny tak si většinou vytvářím eventy co mi posilaj data z vlákna ven a pokud potřebuju rpacovat s GUIčkem, tak použiju delegat a invoke

Mutagen
.NET › Server - Klient logika
29. 7. 2021   #388267

#20 hlucheucho
Doslova a dopísmene jsem mu toto posílal i cca 3 vlákna zpět, jen trošku jinak zformulovaný.
Tolik vláken a vše se točí okolo 1 problému.

Mutagen
.NET › Server - Klient logika
28. 7. 2021   #388255

Vše co ovlivnuje chod hry dělat na serveru.

Hráč hodí kostkou, tím se pošle požadavek na server aby vygeneroval hod, ze serveru jen vrátíš hráčovi výsledek se kterým pracuješ.

Vše co je na hráčovi straně se dá ovlivnovat a opravdu nemusí upravit zdroják.

Jinak co tu čtu, tak se zase řeší ten problém co se řešil asi 3 vlákna zpět.

Mutagen
.NET › Vhodný formát pro internetov…
19. 7. 2021   #388212

#48 Mutagen
I když, teď si přesně nejsem jist, jestli statická třída = singleton, pokud je to rozdíl tak používám jen singletony.

Mutagen
.NET › Vhodný formát pro internetov…
19. 7. 2021   #388211

#47 Kit
Tak já to taky nepoužívám na každou blbost, ale vím, že třída "GameManager", "Settings", "LevelManager", ... Prostě refaktorovat nikdy nebudu. Ale je fakt, že v klasickým programu sem to nepoužil taky už nějakej ten rok, jen u her.

Mutagen
.NET › Vhodný formát pro internetov…
19. 7. 2021   #388208

#31 Kubas129
Víš co, já ti poradil víc než dost, to, že tvoje znalosti tomu bohužel nestačí, už není moje chyba. To co jsem ti sem vše popsal sám používám ve svých hrách a nikdy jsem s tím problém neměl.

Ono by asi nejdřív stálo za pořádný návrh tvojí aplikace a tím se řídit, protože sám asi bastlíš z vody a zkoušíš co a jak dělá (neboj taky jsem to dřív dělal), ale když ti něco pošlu co je funkční a použitelný a ty k tomu vymýšlíš "jak to udělat jinak" tak je prostě chyba u tebe.

To co pošleš, to příjmeš.

Proč něco tvořit staticky? Já třeba statický třídy používám pouze když potřebuju 1 instanci na celej program/hru.

Vidím, že vlákno je označeno za vyřešené, ale nikde tu nevidím jak se to vyřešilo. Bylo by dobré pro další lidi, kdyby měli stejný problém aspoň sem hodit jak jsi to vyřešil a nejlíp i s částí kodu?

Mutagen
.NET › Vhodný formát pro internetov…
16. 7. 2021   #388170

#24 Kubas129
Pokud máš pocit, že moje řešení ti nevyhovuje, nepoužívej ho a udělej si vlastní :) Jen by mě zajímalo jak budeš dopředu vědět jak velký bude pole, když velikost pole ti vytvoří Serialize metoda. Samosebou za předpokladu, že budeš mít předem definovanou velikost pole a přesně rozloženou strukturu packetu, tak ano.

Spíš to vypadá, že nemáš ani pořádně základní znalosti a snažíš se udělat něco hodně nad rámec svých zkušeností, ale pokud si myslíš, že uděláš lepší řešení, tak udělej.

Mutagen
.NET › Vhodný formát pro internetov…
16. 7. 2021   #388168

#21 Kubas129
 

public static byte[] Nadstavba<T>(byte aID, T aData)
{
	byte[] lData = Serialize<T>(aData);
	byte[] lDataWithID = new byte[lData.Length + 1];
	Array.Copy(lData, 0, lDataWithID, 1, lData.Length);
	lDataWithID[0] = aID;

	return lData;
}

použití:
byte[] lTest = Nadstavba<Movement>(0x09, lMovement);
Mutagen
.NET › Vhodný formát pro internetov…
16. 7. 2021   #388167

#20 Kubas129
Možná by nebylo odvěci nejdřív začít se základama programování. A proč bys to přidával přímo do metody si na to udělej nadstavbu co ti to vrátí i s tvým přiznakem.

Btw. Array.Copy

Mutagen
.NET › Vhodný formát pro internetov…
16. 7. 2021   #388164

#16 Kubas129
Co??? Já vůbec o žádných statických třídách nepsal. Vůbec nevim smysl toho co jsi napsal.

To co chceš ze serveru posílat tomu klientovi na to si udělej třídu. Nechápu co nechápeš na tom, když jsem to za tebe defakto napsal, jen třídy musíš udělat sám, protože jen ty víš co za data potřebuješ posílat.

Mutagen
.NET › Vhodný formát pro internetov…
16. 7. 2021   #388158

#12 Kubas129
No to nebude, musejí byt přesně 1:1 aby to z dat šlo přečíst. Otázka spíš zní, proč mít jinak udělanou třídu v jednom programu a ve druhým též jinak?

Jinak né kolem 256, ale přesně 256. Popřípadě pokud chceš víc tříd tak si tam posílej 2 byte za sebou (ushort) a máš hned 65535 tříd k dispozici.

Asi nejjednoduší bude když si vytvoříš třídu přesně tech dat co chceš posílat a s tím budeš dál pracovat, podle mě je zbytečný něco víc vymýšlet a parsovat, když ti serializace vyřeší vše a nemusíš se o nic starat.

Mutagen
.NET › Vhodný formát pro internetov…
16. 7. 2021   #388153

#5 Kubas129
Jak napsat Kit, pokud to máš takto a nechceš to udělat jako datovou strukturu, tak to parsuj jako xml a máš vyřešeno.
Jinak [Serializable] to, že se ti nelíbí je sice fajn, ale prostě tam být musí pokud to chceš prohánět přes serializaci. Musí to být u každé třídy, kterou chceš tímto způsobem zpracovávat.

A ano můžeš tam mít i kolekce, pole cokoliv a samosebou, že stejně definované třídy musíš mít i ve druhé aplikaci aby je to dokázalo načíst. Pokud by ses pokusil poslat serializovaný data třídy Movement tak ti při čtení třeba třídy Combat vyhodí error, proto ten první byte co bys přidal k poli by značilo co to je za třídu
např.

byte 0x00 = Movement class
byte 0x01 = Combat class

než to pošleš do Deserialize tak vymažeš první byte

switch (array[0]):
case 0x00:
	Movement lBytesToMovement = Deserialize<Movement>(array);
break;
case 0x01:
	Combat lBytesToCombat = Deserialize<Combat>(array);
break;
Mutagen
.NET › Vhodný formát pro internetov…
16. 7. 2021   #388147

Já osobně bych použil serializaci. Je to asi nejjednoduší postup, sice budeš posílat data navíc (ale to asi v dnešní době pár bytů navíc nevadí) a třídy bych rozlišoval podle prvního byte, který si ke každýmu poli přidáš

public static byte[] Serialize<T>(T aData)
{
	BinaryFormatter formatter = new BinaryFormatter();
	using (MemoryStream ms = new MemoryStream())
	{
		formatter.Serialize(ms, aData);
		return ms.ToArray();
	}
}

public static T Deserialize<T>(byte[] aData)
{
	BinaryFormatter formatter = new BinaryFormatter();
	using (MemoryStream ms = new MemoryStream(aData))
	{
		return (T)formatter.Deserialize(ms);
	}
}

Nějaká tvoje třída dat který chceš posílat (např. pohyb)

[Serializable]
public class Movement
{
	public float X;
	public float Y;
	public float Z;

	public Movement(int x, int y, int z)
	{
		this.X = x;
		this.Y = y;
		this.Z = z;
	}
}

A použití

Movement lMovement = new Movement(5, 5, 5);
byte[] lMovementToBytes = Serialize<Movement>(lMovement);
Movement lBytesToMovement = Deserialize<Movement>(lMovementToBytes);

Je to psaný na koleni, možná tam budou chyby.

Za mě asi nejjednoduší cesta (záleží jestli nutně potřebuješ jen text nebo třeba kompletní třídy, kde máš data)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý