1
0
Fork 0
mirror of https://github.com/demostf/demo.js synced 2026-06-04 00:54:14 +02:00

initial typescript conversions

This commit is contained in:
Robin Appelman 2016-12-18 15:36:39 +01:00
commit 06860cc3fe
12 changed files with 96 additions and 16 deletions

View file

@ -1,15 +1,26 @@
import {ServerClass} from "./ServerClass";
import {SendTable} from "./SendTable";
import {SendProp} from "./SendProp";
import {SendPropDefinition} from "./SendPropDefinition";
export class Entity {
constructor(serverClass, sentTable, entityIndex, serialNumber) {
serverClass: ServerClass;
sendTable: SendTable;
entityIndex: number;
serialNumber: number;
props: SendProp[];
inPVS: boolean;
constructor(serverClass: ServerClass, sendTable: SendTable, entityIndex: number, serialNumber: number) {
this.serverClass = serverClass;
this.sendTable = sentTable;
this.sendTable = sendTable;
this.entityIndex = entityIndex;
this.serialNumber = serialNumber;
this.props = [];
this.inPVS = false;
}
getPropByDefinition(definition) {
for (let i = 0; i < this.props; i++) {
getPropByDefinition(definition: SendPropDefinition) {
for (let i = 0; i < this.props.length; i++) {
if (this.props[i].definition === definition) {
return this.props[i];
}

View file

@ -1,13 +1,17 @@
import clone from 'clone';
import * as clone from 'clone';
import {SendPropDefinition} from "./SendPropDefinition";
export class SentProp {
constructor(definition) {
export class SendProp {
definition: SendPropDefinition;
value: any;
constructor(definition: SendPropDefinition) {
this.definition = definition;
this.value = null;
}
clone() {
const prop = new SentProp(this.definition);
const prop = new SendProp(this.definition);
prop.value = clone(this.value);
return prop;
}

13
src/Data/ServerClass.ts Normal file
View file

@ -0,0 +1,13 @@
import {SendTable} from "./SendTable";
export class ServerClass {
id: number;
name: string;
dataTable: SendTable;
constructor(id, name, dataTable) {
this.id = id;
this.name = name;
this.dataTable = dataTable;
}
}

View file

@ -1,5 +1,6 @@
import {SendTable} from './Data/SendTable';
import {SendPropDefinition} from './Data/SendPropDefinition';
import {ServerClass} from './Data/ServerClass';
var DataTableParser = function (type, tick, stream, length, match) {
this.type = type;
@ -104,10 +105,4 @@ DataTableParser.prototype.parse = function () {
return tables;
};
var ServerClass = function (id, name, dataTable) {
this.id = id;
this.name = name;
this.dataTable = dataTable;
};
module.exports = DataTableParser;

View file

@ -1,6 +1,6 @@
import {SendPropParser} from '../../Parser/SendPropParser';
import {Entity} from '../../Data/Entity';
import {SentProp} from '../../Data/SendProp';
import {SendProp} from '../../Data/SendProp';
var PVS = {
PRESERVE: 0,
@ -169,7 +169,7 @@ var applyEntityUpdate = function (entity, stream) {
if (existingProp) {
prop = existingProp;
} else {
prop = new SentProp(propDefinition);
prop = new SendProp(propDefinition);
}
prop.value = SendPropParser.decode(propDefinition, stream);
console.log(prop);

View file

@ -1,19 +0,0 @@
{
"name": "tf2-demo",
"description": "A parser for TF2 demo files",
"version": "0.2.5",
"bin": {
"demo-analyse": "./bin/analyse.js"
},
"main": "demo.js",
"dependencies": {
"bit-buffer": "icewind1991/bit-buffer#readBitStream",
"clone": "^2.1.0",
"minimist": "1.1.x",
"smart-buffer": "^1.0.1",
"typedarray-to-buffer": "^3.1.2"
},
"devDependencies": {
"babel-preset-es2015-node6": "^0.4.0"
}
}