replay-viewer
Version:
Rocket League replay viewer React component and tooling
61 lines • 3.24 kB
JavaScript
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
if (typeof b !== "function" && b !== null)
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
return cooked;
};
import Button from "@mui/material/Button";
import Grid from "@mui/material/Grid";
import React, { PureComponent } from "react";
import styled from "styled-components";
import CameraManager from "../../managers/CameraManager";
import SceneManager from "../../managers/SceneManager";
var PlayerCameraControls = /** @class */ (function (_super) {
__extends(PlayerCameraControls, _super);
function PlayerCameraControls(props) {
var _this = _super.call(this, props) || this;
_this.onPlayerClick = function (playerName) {
return function () { return CameraManager.getInstance().setCameraLocation({ playerName: playerName }); };
};
_this.onFieldClick = function (fieldLocation) {
return function () {
return CameraManager.getInstance().setCameraLocation({ fieldLocation: fieldLocation });
};
};
return _this;
}
PlayerCameraControls.prototype.renderPlayerButtons = function () {
var _this = this;
var players = SceneManager.getInstance().players;
var renderTeam = function (team) {
return team.map(function (_a) {
var playerName = _a.playerName;
return (React.createElement(PlayerButton, { key: playerName, variant: "outlined", onClick: _this.onPlayerClick(playerName) }, playerName));
});
};
return (React.createElement(Grid, { container: true, spacing: 3, justifyContent: "space-between" },
React.createElement(Grid, { item: true }, renderTeam(players.filter(function (player) { return player.isOrangeTeam; }))),
React.createElement(Grid, { item: true }, renderTeam(players.filter(function (player) { return !player.isOrangeTeam; })))));
};
PlayerCameraControls.prototype.render = function () {
return React.createElement("div", null, this.renderPlayerButtons());
};
return PlayerCameraControls;
}(PureComponent));
var PlayerButton = styled(Button)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n && {\n margin: 6px;\n }\n"], ["\n && {\n margin: 6px;\n }\n"])));
export default PlayerCameraControls;
var templateObject_1;
//# sourceMappingURL=PlayerCameraControls.js.map