Dokumentation zu: unit(STD)

HR Image


STANDARDOBJEKT FUER UNIT

BENUTZUNG
      inherit "unit";

      #include <properties.h>

BESCHREIBUNG
      Das Unit-Objekt wird benutzt, wenn eine groessere Anzahl
      einfacher Objekte wie z.B. Muenzen implementiert werden sollen.
      Das Unit-Objekt besteht dabei aus nur einem Objekt, das sich die
      Anzahl der Elemente merkt und anzeigt. Das Objekt kann nicht nur
      mit dem Namen, sondern auch mit einer Kombination aus Anzahl und
      Namen angesprochen werden kann. Als id() wird also nicht nur
      "Muenzen", sondern auch "7 Muenzen" anerkannt.

      Auch die move()-Funktion wird entsprechend unterstuetzt. Die
      move()-Funktion kann das gesamte Objekt oder auch nur einen Teil
      bewegen. Im zweiten Fall wird ein neuer Clone mit der bewegten
      Anzahl des Objektes produziert und die Anzahl der verbliebenen
      Objekte im Original angepasst. Die bewegten Objekte checken
      selbstaendig am Zielort, ob es dort ein solches Objekt schon gibt
      und addieren sich dort dann zu der Anzahl dazu. Dabei wird kein
      neues Objekt geclont. Das Verhalten beim Moven kann durch drei
      fuer Units spezielle Move-Methoden beeinflusst werden (siehe unten).

      Units koennen ueber Singular- und Plural-IDs angesprochen werden.
      Zum Setzen dieser IDs verwendet man die normale Funktion AddId().
      (Frueher gab es zwei spezielle Funktionen: AddSingularId() und
      AddPluralId()).
      Bei name() kann das Flag NAME_UACT benutzt werden. (siehe name(L))

PROPERTIES
      Alle aus Thing bekannten Properties koennen benutzt werden. Natuerlich
      ist es dabei erforderlich neben P_NAME eine sinnvolle Pluralbezeichnung
      P_PLURAL zu setzen.

      P_AMOUNT       - Beinhaltet die vorhandene Anzahl der Einheiten
      U_CPU          - Der Wert pro Einheit (als Bruch)
      U_GPU          - Das Gewicht pro Einheit (als Bruch)
      U_BPU          - Die Sperrigkeit pro Einheit (als Bruch)
      U_REQ          - Mit dem letzten id() angeforderte Anzahl von Einheiten
      P_GIVEN_AMOUNT - Anzahl der Einheiten die der Unit uebergeben wurden


FUNKTIONEN
      void AddAmount(int am)
        Aendert die Anzahl der Objekte in der Unit um 'am' Stueck. 'am'
        kann auch negativ sein. Es ist vorher selbst zu pruefen, ob
        ueberhaupt genuegend Objekte vorhanden sind. Wird die Anzahl
        kleiner als 0, wird sie ohne Fehler auf 0 gesetzt und die Unit
        wird zerstoert!

      mixed IsUnit()
        liefert ein Unit-Objekt (fuer Lib-internen Gebrauch) oder 1

      int IsPlural()
        liefert 1, wenn mehr als eine Unit angefordert wurde, sonst 0

      void SetClonerUnit(object ob)
      object GetClonerUnit()
        sind fuer den Lib-internen Gebrauch bestimmt

MOVE_METHODEN
      Units kennen folgende spezielle Move-Methoden, um das Verhalten
      beim Bewegen eines Unit-Objektes zu beeinflussen:
      M_MOVE_ALL: bewegt ein komplettes Unit-Objekt
      M_FORCE_SPLIT: erzwingt das Aufteilen einer Unit und bewegt Teile
        des Unit-Objektes
      M_NO_JOIN: verhindert das automatische Vereinigen gleichartiger
        Units am Zielort der Bewegung

VERALTETE FUNKTIONEN
      Folgende Funktionen sind nicht mehr zu benutzen:
      SetValuePerUnit(int number)                      -> U_CPU
      SetWeightPerUnit(int number)                     -> U_GPU
      SetUnitShort(string|string* short)               -> faellt ersatzlos weg
      void AddSingularId(mixed *str)                   -> AddId(L)
      void AddPluralId(mixed *str)                     -> AddId(L)
      void SetCoinsPerUnits(int coins, int units)      -> U_CPU
      void SetGramsPerUnits(int grams, int units)      -> U_GPU
      void SetBulkinessPerUnits(int bulk, int units)   -> U_BPU
      int *QueryCoinsPerUnits()                        -> U_CPU
      int *QueryGramsPerUnits()                        -> U_GPU
      int *QueryBulkinessPerUnits()                    -> U_BPU

SIEHE AUCH
      name(L), P_AMOUNT, P_GIVEN_AMOUNT, U_GPU, U_CPU, U_BPU, U_REQ,
      P_NAME, P_PLURAL, P_IDS, P_PIDS


Start » Magierhandbuch » Docu » Std » Unit Letzte Generierung: 01.05.2021, 16:59
Valid HTML 4.01!