TEN Version 1.0.2 - Wichtige Änderungen und Neuerungen

  • Änderungen und Neuerungen in der TEN Engine 1.0.2

    Wichtige Änderungen und Neuerungen in der TEN Engine Version 1.0.2


    Wenn man seine Projekte auf die neue Version 1.0.2 updatet, gibt es folgendes zu beachten:

    1 Zuordnung Dateitypen - erster Block in Gameflow.lua

    Folgende Zuordnungen von Dateitypen am Anfang der Gameflow.lua löscht man:

    Code
    local Flow = TEN.Flow
    local Level = Flow.Level
    local Color = TEN.Color
    local Rotation = TEN.Rotation
    local InventoryItem = Flow.InventoryItem
    local InvID = Flow.InvID
    local RotationAxis = Flow.RotationAxis
    local ItemAction = Flow.ItemAction

    2 Util.lua

    Man muss nicht länger auf die Util.lua in Gameflow.lua und Level Datei Lua verweisen und kann die folgenden Zeilen löschen:

    Code
    local Util = require("Util")
    Util.ShortenTENCalls()

    3 InvID


    InvID wurde entfernt und durch ObjID ersetzt.


    Findet man z.b. beim Anlegen von Inventargegenständen oder Befehlen wie SetItemCount, GiveItem usw.


    Bsp.

    Code
    SetItemCount(ObjID.SMALLMEDI_ITEM, 1)

    4 Timer.lua, EventSequence.lua und Util.lua

    Die obengenannten Dateien befinden sich jetzt in einem Unterordner von Scripts mit dem Namen "Engine". Ist z.B. wichtig wenn man jetzt einen Timer oder eine EventSequence setzt, denn dann muss man folgenden Befehl setzen:

    Code
    local Timer = require("Engine.Timer")
    
    local EventSequence = require("Engine.EventSequence")

    5 Timer.UpdateAll

    EventSequence und Timer benötigen nicht länger

    Code
    LevelFuncs.OnControlPhase = function(dt)
    Timer.UpdateAll(dt)
    end

    in der .OnControlPhase Funktion.

    6 Moveable Funktionen

    "Moveable Funktionen" wie SetOnHit, SetOnKilled, SetOnCollidedWithObject and SetOnCollidedWithRoom enthalten keinen String mehr sondern den kompletten LevelFuncs. Namen.

    Code
    LevelFuncs.opendoor = function()
    local door = GetMoveableByName("door_type1_3")
    door:Enable()
    end
    
    Baddy1:SetOnKilled(LevelFuncs.opendoor)

    7 GiveItem, SetItemCount usw.

    GiveItem und SetItemCount wurden überarbeitet. Zusätzlich ist "TakeItem" hinzugekommen, um Gegenstände wie z.B. die Pistolen zu entfernen. Bei einigen Befehlen bewirkt die Zahl "-1" eine unendliche Menge.

    Code
    TakeItem(ObjID.PISTOLS_ITEM, 1)

    Entfernt die Pistolen aus dem Inventar.

    Code
    SetItemCount(ObjID.FLARE_INV_ITEM,-1)

    Gibt unendliche Menge an Fackeln.

    8 Neue Funktionen für Statics

    Hinzugekommen sind:

    Code
    Static:Enable()
    Static:Disable()
    Static:GetActive()
    Static:GetSolid()
    Static:SetSolid(if)

    9 Andere neue Funktionen

    zu finden unter Misc und Flow

Share