Ergebnis 1 bis 5 von 5

Thema: Dokumentation für virtuelle Funktionen

  1. #1
    Registrierter Benutzer
    Registriert seit
    01.10.13
    Beiträge
    18

    Dokumentation für virtuelle Funktionen

    Hallo,

    finde ich irgendwo Doku zu virtuellen Funktionen wie

    virtual void addMessage(PlayerTypes ePlayer, bool bForce, int iLength, CvWString szString, LPCTSTR pszSound = NULL,
    InterfaceMessageTypes eType = MESSAGE_TYPE_INFO, LPCSTR pszIcon = NULL, ColorTypes eFlashColor = NO_COLOR,
    int iFlashX = -1, int iFlashY = -1, bool bShowOffScreenArrows = false, bool bShowOnScreenArrows = false) = 0;

    Oder kann mir jemand sagen wo Messages gespeichert werden die mit

    gDLL->getText("TXT_KEY_WHALER_FULL", getNameKey());

    abgerufen werden?


    greetz

  2. #2
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Hm, ich weiß nicht recht, was du eigentlich genau fragst bzw. worauf du hinaus willst.
    (Ich versteh nicht was du mit "gespeichert" meinst. Meinst du die MessageQueue ?)

    Die Methode addMessage sagt dir ja ganz genau, was sie alles an Eingabewerten annimmt und Beispiele dafür gibt es auch genug im Code.

    Sowas wie das hier liest dir einfach einen Text aus dem XML aus und weist ihn einer Variable zu, die du vorher deklariert hast.
    Code:
    szBuffer = gDLL->getText("TXT_KEY_MISC_BORDERS_EXPANDED", getNameKey());
    Welche Werte du getText noch füttern kannst, hängt davon ab, welche Platzhalter du im XML deklariert hast.
    Die Methode wird dann versuchen diese der Reihe nach in der du sie im Aufruf dranhängst im Text aus dem XML zu ersetzen.

    Sowas in der Art hab ich schon unzählige Male gemacht und dabei noch nie Probleme gehabt.
    (Daher bin ich auch ein wenig ratlos, dass du hier Probleme hast.)

    Schau dir am Besten einfach mal ein paar Beispiele an.
    Ist wirklich kinderleicht.
    Geändert von raystuttgart (11. Oktober 2013 um 21:10 Uhr)
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  3. #3
    Registrierter Benutzer
    Registriert seit
    01.10.13
    Beiträge
    18
    Naja, wenn es irgendwo doku für die virtuellen gibt wäre schon praktisch.

    Also holt getText seine Texte aus den XML-Dateien für die jeweilige Unit und arbeitet wie sprintf?

    Dann schau ich da mal, danke.

  4. #4
    Col-Modder Avatar von raystuttgart
    Registriert seit
    19.03.10
    Ort
    Stuttgart
    Beiträge
    4.585
    Zitat Zitat von igel1974 Beitrag anzeigen
    Also holt getText seine Texte aus den XML-Dateien für die jeweilige Unit und arbeitet wie sprintf?
    getText holt die Texte aus den XML-Dateien im Unterordner /XML/Text.
    Um den spezifischen Text zu finden gibst du ja den Key (TXT_KEY) mit.

    Alles andere was du danach noch in den Aufruf stopfst soll Platzhalter im Text aus dem XML ersetzen.

    Wie gesagt, schau dir einfach ein paar Beispiele an.
    Teammitgleid dieses Projekt für Colonization:
    [Mod] We The People
    (Nachfolgerprojekt von Religion and Revolution)

    Davor Teammitgleid dieses Projekt für Colonization:
    [Mod] Religion and Revolution

    Vor-Vorheriges Projekt für Colonization:
    [ModMod] ray's Wunschliste

    Und wiederum davor Teammitglied von:
    [Mod] The Authentic Colonization (TAC)

  5. #5
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    getText(…) kannst du dir wie ein Wörterbuch/einen Index vorstellen. addMessages(…) ist für die Textmeldungen innerhalb des graphischen Interfaces zuständig. Wie Raystuttgart schon schrieb, lernst du da am besten von Beispielen, wie die Methoden einzusetzen sind.
    Die virtuellen Funktionen/Methoden sind in den meisten Fällen nicht im SDK enthalten. Daher hast du nur Zugriff auf deren Header.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •