add mod version to messages, util method to get event name from event obj
This commit is contained in:
parent
70429d66be
commit
6245d614aa
2 changed files with 26 additions and 13 deletions
|
|
@ -11,16 +11,10 @@
|
|||
import {Serdes} from "./serdes/serdes"
|
||||
import {FactorioEvent, JsonTable} from "./model/model";
|
||||
|
||||
|
||||
const FactorioEvent = ((tick: uint, objectName: string, eventType: string, data: JsonTable) => {
|
||||
return {
|
||||
tick: tick,
|
||||
object_name: objectName,
|
||||
event_type: eventType,
|
||||
data: data,
|
||||
} as FactorioEvent
|
||||
}
|
||||
)
|
||||
const mapEventIdToName = new LuaTable<defines.events, keyof typeof defines.events>()
|
||||
for (const [k, v] of pairs(defines.events)) {
|
||||
mapEventIdToName.set(v, k)
|
||||
}
|
||||
|
||||
// function createFactorioEvent(tick: uint, object_name: string, eventType: string, data:
|
||||
// JsonTable): FactorioEvent { return { tick, object_name, eventType, data, } }
|
||||
|
|
@ -105,7 +99,8 @@ script.on_event(
|
|||
|
||||
for (const [index,] of pairs(game.surfaces)) {
|
||||
let surface = game.surfaces[index]
|
||||
surfaceEvent(e.tick, surface, "on_tick")
|
||||
surfaceEvent(e.tick, surface, mapEventIdToName.get(e.name))
|
||||
// surfaceEvent(e.tick, surface, "on_tick")
|
||||
}
|
||||
|
||||
// let filename: string = table.concat([entity.unit_number, eventType, tick], "_")
|
||||
|
|
|
|||
|
|
@ -13,9 +13,27 @@ export interface JsonTable {
|
|||
[key: string]: JsonTableValueType
|
||||
}
|
||||
|
||||
const MOD_VERSION = script.active_mods["factorio_web_map"]
|
||||
|
||||
export interface FactorioEvent extends JsonTable {
|
||||
tick: uint
|
||||
object_name: string,
|
||||
/** Schema versioning */
|
||||
mod_version: string,
|
||||
/** game time */
|
||||
tick: uint,
|
||||
/** the initial Factorio event ({defines.events}) trigger */
|
||||
event_type: string,
|
||||
/** Defines the structure of {FactorioEvent.data} */
|
||||
object_name: string,
|
||||
data: JsonTable,
|
||||
}
|
||||
|
||||
export const FactorioEvent = ((tick: uint, objectName: string, eventType: string, data: JsonTable) => {
|
||||
return {
|
||||
mod_version: MOD_VERSION,
|
||||
tick: tick,
|
||||
object_name: objectName,
|
||||
event_type: eventType,
|
||||
data: data,
|
||||
} as FactorioEvent
|
||||
}
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue