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 {Serdes} from "./serdes/serdes"
|
||||||
import {FactorioEvent, JsonTable} from "./model/model";
|
import {FactorioEvent, JsonTable} from "./model/model";
|
||||||
|
|
||||||
|
const mapEventIdToName = new LuaTable<defines.events, keyof typeof defines.events>()
|
||||||
const FactorioEvent = ((tick: uint, objectName: string, eventType: string, data: JsonTable) => {
|
for (const [k, v] of pairs(defines.events)) {
|
||||||
return {
|
mapEventIdToName.set(v, k)
|
||||||
tick: tick,
|
}
|
||||||
object_name: objectName,
|
|
||||||
event_type: eventType,
|
|
||||||
data: data,
|
|
||||||
} as FactorioEvent
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
// function createFactorioEvent(tick: uint, object_name: string, eventType: string, data:
|
// function createFactorioEvent(tick: uint, object_name: string, eventType: string, data:
|
||||||
// JsonTable): FactorioEvent { return { tick, object_name, eventType, data, } }
|
// JsonTable): FactorioEvent { return { tick, object_name, eventType, data, } }
|
||||||
|
|
@ -105,7 +99,8 @@ script.on_event(
|
||||||
|
|
||||||
for (const [index,] of pairs(game.surfaces)) {
|
for (const [index,] of pairs(game.surfaces)) {
|
||||||
let surface = game.surfaces[index]
|
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], "_")
|
// let filename: string = table.concat([entity.unit_number, eventType, tick], "_")
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,27 @@ export interface JsonTable {
|
||||||
[key: string]: JsonTableValueType
|
[key: string]: JsonTableValueType
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const MOD_VERSION = script.active_mods["factorio_web_map"]
|
||||||
|
|
||||||
export interface FactorioEvent extends JsonTable {
|
export interface FactorioEvent extends JsonTable {
|
||||||
tick: uint
|
/** Schema versioning */
|
||||||
object_name: string,
|
mod_version: string,
|
||||||
|
/** game time */
|
||||||
|
tick: uint,
|
||||||
|
/** the initial Factorio event ({defines.events}) trigger */
|
||||||
event_type: string,
|
event_type: string,
|
||||||
|
/** Defines the structure of {FactorioEvent.data} */
|
||||||
|
object_name: string,
|
||||||
data: JsonTable,
|
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