Jump to content
Unity Insider Forum

Kokujou

Members
  • Content count

    231
  • Joined

  • Last visited

  • Days Won

    1

Kokujou last won the day on September 27

Kokujou had the most liked content!

Community Reputation

2 Neutral

About Kokujou

  • Rank
    Advanced Member
  • Birthday 11/13/1993

Contact Methods

  • Website URL
    http://obscuritas.pw

Profile Information

  • Gender
    Male
  • Location
    Dessau-Roßlau
  • Interests
    Spieleentwicklung, Animes

Recent Profile Visitors

938 profile views
  1. Kokujou

    Codeüberprüfung und Feedback gesucht!

    Achso dann gehts dir um den Schnippsel mit CardRef? XD ich hab mich verlesen und gedacht jetzt ist es plötzlich schlimm DASS ich sie ausgegliedert habe. Naja wegen dem einen Schnippsel wollte ich keine extra Datei erstellen, das käme mir irgendwie sinnlos vor. Er gefällt mir eh nicht aber ich schätze mal man kann nicht gleichzeitig von ScriptableObject und MonoBehaviour-Erben... oder sollte zumindest nicht stimmts? Ich rede ja auch nur von dem Namen. Woher weißt du denn was Linq Distinct Methode macht? die könnte ja auch alles mögliche sein oder? Aber zur Kenntnis genommen. Okay ich versteh nicht wirklich warum das ein schlechter Stil ist. Vorher hatte ich alles in einer Funktion. Da hat man sich beschwert, also hab ich's in Klassen ausgegliedert und das ist jetzt auch falsch? Ich wüsste nicht wirklich wie ich das noch besser hinkriege. Da ist auch überhaupt nichts statisches dabei, was den ganzen code runterziehen könnte. Ich kann dir ja mal erklären was da abgeht: Man bekommt eine Liste mit Yaku. Jeder Yaku hat eine eigene Darstellung die man in drei Typen unterteilen kann, als GUI-Element. Also zeichnet sich erstmal jeder Yaku. Und dann müssen sie alle für etwa 3 Sekunden eingeblendet werden, bevor man dann durch eine Slide-Animation weiter zum nächsten geht. Und am Ende muss erkannt werden dass es das war, die Liste ist abgearbeitet, also muss nun ein weitere UI-Element gespawnt werden. Klar könnte ich das auch über ne einzelne Funktion regeln und hatte es auch erst so aber die, die ich gefragt habe hängen sich irgendwie daran auf dass Unity nunmal OOP ist und da mit Klassen gearbeitet wird. Und wenn ich dann noch Code in Dateien abdocken soll kommt es mir einfach blöd vor ne Datei zu haben wo nur Funktionen drinne stehen. Ja aber ellenlange Funktionsnamen sind jetzt auch nicht unbedingt gerne gesehen.. ich zumindest mag sie nicht wirklich. DeleteObjectsWithoutX, besonders wenn X dann noch länger ist in nem code zu sehen und dann noch ne Liste von Parametern... Uff. Aber ich geb mir Mühe das besser hinzukriegen. Ich schiebs ja nicht vor und sage "find dich damit ab" ich sag nur warums so ist und dass ich dran arbeite ^^ Es passiert komischerweise in allen. Und es ist auch nur der Name... Irgendwie scheint's immer zu passieren wenn ich Unity neustarte, aber ich speichere die Szene immer bevor ich's schließe und Assets kann der doch schlecht einfach zurücksetzen wie's ihm passt... Und ich meinte eher ob du für "Global den Spielverlauf beeinflussen" irgendein Beispiel in meienm Code hast oder ob das jetzt eher so ein allgemeiner Tipp war.
  2. Kokujou

    Codeüberprüfung und Feedback gesucht!

    Achja und was meintest du mit "Global den Spielverlauf beeinflussen", sicher nicht den textuellen Spielverlauf? XD
  3. Kokujou

    Codeüberprüfung und Feedback gesucht!

    1. Also man hat mir geraten mein Skript möglichst auszugliedern also hab ich für jede Klasse erstmal ein eigenes Skript erstellt >.< sag mir nicht das war jetzt falsch. Von Component erbe ich ja auch nicht, es geht wohl nur um die 2 ScriptableObjects? 5. Ups... ich dachte distinct wäre ein Verb XD Ich seh doch immer in der Linq die Distinct Methode, wenns für die gut genug ist dann für mich auch oder Und ja es löscht. 7. Wir reden hier doch von der Equals-Methode die ich überschrieben habe und... irgendwie will mir VS nichtmal die Verweise finden XD Ich bin mir also nichtmal sicher ob das überhaupt aufgerufen wird. Aber ToEquals hat nur Parameter vom Typ object oder nicht. Wenn ich also ne Konvertierung vornehme und er den Typ nicht kennt schmeißt er ne Exception raus und das wollen wir ja nicht oder? 9. Ich versuch gerade krampfhaft meinen Codestil zu verbessern und Funktionen abzudocken, also dachte ich mir ich bau eine Klasse, die das Spawnen der Yaku und deren Animation koordiniert. Vorher hatte ich das alles in der Update-Routine gehandhabt, die dann auch entsprechend tausende Zeilen lang war XD wie würdest du es denn machen? Denn die Klasse braucht nunmal nicht nur wissen über den Einen sondern auch über den nächsten, muss wissen wanns zu Ende ist, ich dachte echt das wär so n guter Stil 😢 10. Da sieht man meine Wortfindungsschwäche... Dann benenn ich's halt in YakuRenderer um^^ Ich bin nicht sonderlich gut mit Worten darum vertausche ich auch dauernd deutschen und Englischen Code. Ich hab sie nur einmal erzeugt, das ist ja der Punkt. Es sind fixe Karten, das war ja der Vorteil. Ichh ab sie einmal im code gebaut, dann in den Deck/Yaku Ordner ausgelagert, den du im GitHub inzwischen unter External findest und lade sie durch ihre Referenzen die ich in der Szene zugewiesen habe in die Global.AllCards bzw AllYaku. Die gesamten eigenschaften sollen nur gelesen werden können, mehr nicht. Und noch ein kleiner Nachtrag: Ich hab kA warum zur Hölle da überall veraltet dran stand. Das muss VS einmal gesehen und dann immer wieder beim Abdocken hizugefügt haben XD
  4. Kokujou

    Codeüberprüfung und Feedback gesucht!

    Ah und vielleicht kannst du mir mal was verraten, denn ich verstehs nicht. Unity verändert ständig meine ScriptableObjects! kA was das soll das frustriert mich total >.> Der Großteil der Eigenschaften bleibt erhalten, manchmal schmeißt er einfach "Name" raus und das ist dann leer! Ich hab meinen ganzen Code durchgesehen, nirgends wird der Name gesetzt, readonly geht nicht dann fliegt er komplett raus. Ich muss ihn jedes Mal im Skript durch Name = name zuweisen. Da die private Namen-Eigenschaft ja leider Probleme verursacht wenn man auf sie außerhalb des Main-Threads zugreifen will.
  5. Kokujou

    Codeüberprüfung und Feedback gesucht!

    1. von UnityEngine.Object erbende Klassen... hast du mal ein Beispiel? wenn erbe ich davon wahrscheinlich nur indirekt 😮 meinst du ScriptableObjects oder was? 2. Ja die sind wohl beim gitignore rausgeflogen, mach ich! 3. Ja darauf wurde ich schon hingewiesen >.< Das kommt davon wenn einem die Worte fehlen XD 4. Uff... Ja diese blöden Namenskonventionen.. da hängt sich am Ende jeder dran auf. Ich achte in Zukunft drauf aber jetzt rückwirkend alles umzuschreiben.... 5. Also DistinctYaku sagt eigentlich alles was es muss allerdings nur wenn man mit den Spielregeln vertrauen lässt^^ es gibt Yaku die quasi zur gleichen Kategorie gehören, also werden quasigleiche Yaku aus der Liste entfernt Oftmals achte ich darauf dass Namen sprechend sind, eigentlich immer. Was hängen bleibt sind höchstens temporäre Variablen aber ich hab's schon auf dem Schirm, danke! 6. Das war auch mal viel schlimmer. Da hab ich sie oft direkt in der Szene gesucht. Ich arbeite auch da schon an ner Lösung indem ich die Card-Klasse vielleicht direkt zu ner Komponenten mache und dann die Referenzen direkt in die Klasse einbaue 7. Auch das ist ja glaub eher ein Einzelfall, wie würdest du das machen? Ich will ja nur wissen ob ich die Name-Eigenschaft abrufen kann, soll ich lieber über try/catch machen? Ich hatte sowas früher öfter in Projekten hatte aber irgendwann Performance-Einbrüche weswegen ich es jetzt so mache 8. Die ist größtenteils dabei überall rauszufliegen. Ich habe schon großflächig durch die neue ersetzt, aber ich glaub ich habs noch nicht explizit auf meiner ToDo guter Einfall! 9. was meinst du damit jetzt? 10. YakuHandler ist quasi die Komponente die den einzelnen Yaku (zu finden in den Prefabs) zugewiesen werden und quasi für deren Rendering zuständig sind, YakuManager koordiniert das Anzeigen der ganzen Liste. das fand ich eigentlich ziemlich gelungen 11. Ja ich hab vor Git alles über Kommentare und Strg+Z,C,Y gemacht XD darum findet man da so viel Müll drin, ich entferne ihn so schnell wie möglich :3
  6. Kokujou

    Codeüberprüfung und Feedback gesucht!

    Uff danke für den Tipp! Dann hoffe ich mal dass Unity die ganzen verweise automatisch mitnimmt. Ich hatte zuerst alles über Resources.Load gesammelt, weswegen ich mir das wohl angewöhnt habe, aber jetzt hab ich gemerkt dass das ein großes Loch ist und hab das dann alles über szeneninterne Verweise geregelt. Dankeschön Ich freu mich über jede Kritik!
  7. Kokujou

    Codeüberprüfung und Feedback gesucht!

    Ist das irgendwie schlecht? Gut eigentlich verwende ich Resources.Load gar nicht mehr, ich empfand nur nie die Notwendigkeit ihn umzubenennen^^ Ist das so schlimm? XD
  8. Kokujou

    Codeüberprüfung und Feedback gesucht!

    Falls hier noch irgendjemand mitliest: ich hab jetzt alles auf Github, das sollte für jeden Einfacher sein... Hoffe ich... Vielleicht... https://github.com/Kokujou/Hanafuda
  9. Naja gut im Prinzip ist Linq ja nichts anderes XD Ich hab irgendwie so die Vorstellung dass SQL vielleicht nicht die ganze Datei bei jedem Update neu schreibt, sondern mit Offsets arbeitet und dann hier und da was einschiebt. Selbst wenn man dann in der Datei suchen muss hätte man ja vielleicht ne bessere Paralellisierung von Prozessor und Festplatte. Ich helfe gerade bei nem anderen Projekt aus und kenne deren Vorgaben eher umrissen aber andererseits soll die aktuelle DB ja auch nur ein Dummy sein, die richtige ist ja dann Online. Was denke ich mindestens Lokal sein wird ist die Nachrichten-Datenbank, quasi ein Supportnachrichten system wo normalen Nutzer mit Admins kommunizieren können. Ich kenne mich mit sowas nicht aus darum realisiere ich auch das über Datenbank. Aber wenn ich jetzt nichts unbedacht habe dürfte das nicht so groß werden.
  10. Also schön... der Form halber: Ich hab's jetzt mal höchst primitiv gemacht. Ich hab ne Filestream im persistent data path geöffnet, der wohl sowohl mit Android als auch mit PC funktioniert. Meine Klassen sind serialisierbar, also schreibe ich sie einfach mit nem BinaryFormatter in ne Datei. Die ich dann bei jeder Änderung komplett neu schreibe. Funktioniert soweit ganz gut aber wenn ich raten müsste würde ich sagen dass das nicht unbedingt der eleganteste Weg ist. Wie funktioniert das bei ner SQLite Datenbank eigentlich, die schreibt doch sicher an bestimmten Positionen rein und nicht die ganze Datei oder? ich hätte echt gedacht Unity hat zumindest ne SQLite Bibliothek irgendwo drinne... oder würde sich zumindest nicht so unsagbar dabei anstellen sie zu importieren.
  11. Äh ja andersrum man braucht ne Offline-Datenbank, sorry! XD Ein lokaler Speicher mein aktuelles Projekt ist weniger ein Spiel als eine App die sich mit Unity einfach leichter verwirklichen lässt als mit der Wurzel des bösen: Xamarin. Wenn man komplexe Datenstrukturen in Online-DBs auslagert brauchen sie ja auch einen lokalen Speicher und eine interne Repräsentation. Also muss die Online-DB die Pflicht ist auf die Klassen gemappt werden und von da in die Datei geschrieben werden die dafür vorgesehen ist.
  12. Achja und eine Sache vor allem. Man braucht ja meistens beides, eine Online-Datenbank und eine interne in die man die Daten quasi mappen kann. Wie sieht's da mit der Kompatibilität aus? Ich will möglichst nicht alles manuell parsen müssen^^ Gibt's funktionen die die Antwort vom HTTP-Request auf Klassen mappen können und von da in ne JSON oder XML Datei schreiben können? Ich hab schon überlegt mit Serialisierung zu arbeiten...
  13. Weil... Ich davon bisher noch nie gehört habe >.< Tut mir leid meine Programmierkenntnisse sind größtenteils aus mangelhaftem Unterricht und Unity-Dokumentationen. Mir wär halt nur wichtig dass man gut auf die Daten zugreifen kann eben wie in ner Datenbank über Skript-Sprache gibts das auch für XML/JSON?
  14. Hallo. Ich bin ehrlich gesagt am Ende mit meinem Latein. Ich habe wirklich alles was nur irgendwie möglich ist versucht um SQLite in Unity zum Laufen zu bringen und ganz ehrlich: Es ist nicht schaffbar. Erst hab ich mir einfach mal das Skript genommen und es eingebaut. Dann hab ich die sqlite3.dll da irgendwie eingefügt und siehe da es hat zumindest im Editor geklappt. jetzt sitze ich seit über 3 Stunden daran irgendwelche .so files aus dem internet zu laden um sie auf android zum laufen zu bringen, und als ich es endlich geschafft hab es auf einemEmulator zum Laufen zu bringen, versagt es natürlich auf meinem eigenen Handy (offenbar ARM64). Und nachdem ich das jetzt endlich partiell hingekriegt habe und einen Fehler gefunden habe, wollte ich es wieder auf dem Editor laufen lassen um zu sehen ob das jetzt daran liegt dass ich auf ILCPP oder so umgestellt habe, damit Unity das mit dem ARM64 endlich hinkriegt und jetzt findet der da die dll auch nicht mehr. Obwohl sie erst im Plugin und dann im Scripts ordner war. Es ist mir unbegreiflich und will nicht in meinen Kopf dass Unity keine Möglichkeit hat eine ganz simple Datenbank einzubauen wie sie doch eigentlich für jedes Spiel eine gute und sinnvolle Möglichkeit ist oder nicht? Also bitte helft mir. Wenn schon keine Datenbank dann irgendwas anderes auf dass man Online zugreifen kann aber auch auf dem PC und natürlich mobilen Geräten
  15. Kokujou

    Codeüberprüfung und Feedback gesucht!

    Falls heir noch einer drübersieht ich hab grad gemerkt dass das in dem Link 1GB waren XD ich habs geändert und nur den Asset-Ordner hochgeladen der Rest ist eh unwichtig^^ Hätt ja mal einer sagen können
×