begin work showing type coverage
This commit is contained in:
parent
d9f1c35fa3
commit
7cd14f2b58
16
dist/main-bundle.js
vendored
16
dist/main-bundle.js
vendored
@ -29619,7 +29619,7 @@ function pathToRegexp (path, keys, options) {
|
|||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js because of ./node_modules/react-redux/es/index.js */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js because of ./node_modules/react-redux/es/index.js */
|
||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/extends.js because of ./node_modules/react-redux/es/index.js */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/extends.js because of ./node_modules/react-redux/es/index.js */
|
||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js because of ./node_modules/react-redux/es/index.js */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js because of ./node_modules/react-redux/es/index.js */
|
||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js because of ./node_modules/react-measure/dist/index.esm.js */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js because of ./node_modules/react-redux/es/index.js */
|
||||||
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/react/index.js (<- Module is not an ECMAScript module) */
|
/*! ModuleConcatenation bailout: Cannot concat with ./node_modules/react/index.js (<- Module is not an ECMAScript module) */
|
||||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||||
|
|
||||||
@ -36665,7 +36665,7 @@ function () {
|
|||||||
return __awaiter(this, void 0, void 0,
|
return __awaiter(this, void 0, void 0,
|
||||||
/*#__PURE__*/
|
/*#__PURE__*/
|
||||||
regeneratorRuntime.mark(function _callee() {
|
regeneratorRuntime.mark(function _callee() {
|
||||||
var queryParameters, response;
|
var queryParameters, response, attackTypeEffectiveness;
|
||||||
return regeneratorRuntime.wrap(function _callee$(_context) {
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
||||||
while (1) {
|
while (1) {
|
||||||
switch (_context.prev = _context.next) {
|
switch (_context.prev = _context.next) {
|
||||||
@ -36676,11 +36676,16 @@ function () {
|
|||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
response = _context.sent;
|
response = _context.sent;
|
||||||
|
attackTypeEffectiveness = response.attackTypeEffectiveness.map(function (tuple) {
|
||||||
|
var deserialize = [tuple[0], new Map(tuple[1])];
|
||||||
|
return deserialize;
|
||||||
|
});
|
||||||
return _context.abrupt("return", Object.assign({}, response, {
|
return _context.abrupt("return", Object.assign({}, response, {
|
||||||
|
attackTypeEffectiveness: new Map(attackTypeEffectiveness),
|
||||||
combatMoves: new Map(response.combatMoves)
|
combatMoves: new Map(response.combatMoves)
|
||||||
}));
|
}));
|
||||||
|
|
||||||
case 5:
|
case 6:
|
||||||
case "end":
|
case "end":
|
||||||
return _context.stop();
|
return _context.stop();
|
||||||
}
|
}
|
||||||
@ -37156,6 +37161,7 @@ function (_react_1$default$Comp) {
|
|||||||
quickMoves: leaguePokemon.moves.quick,
|
quickMoves: leaguePokemon.moves.quick,
|
||||||
chargeMoves: leaguePokemon.moves.cinematic,
|
chargeMoves: leaguePokemon.moves.cinematic,
|
||||||
selectedMoves: selectedCombatMoves,
|
selectedMoves: selectedCombatMoves,
|
||||||
|
attackTypeEffectiveness: null,
|
||||||
combatMoveSelectorsOpen: combatMoveSelectorsOpen,
|
combatMoveSelectorsOpen: combatMoveSelectorsOpen,
|
||||||
handleToggleDropdownOpen: this.handleToggleDropdownOpen,
|
handleToggleDropdownOpen: this.handleToggleDropdownOpen,
|
||||||
handleChangeSelectedMove: this.handleChangeSelectedMove
|
handleChangeSelectedMove: this.handleChangeSelectedMove
|
||||||
@ -38816,7 +38822,7 @@ function (_react_1$default$Comp) {
|
|||||||
}), chargeMove2 && chargeMove2Type && react_1.default.createElement(TypeIndicator_1.TypeIndicator, {
|
}), chargeMove2 && chargeMove2Type && react_1.default.createElement(TypeIndicator_1.TypeIndicator, {
|
||||||
className: chargeMove2Css,
|
className: chargeMove2Css,
|
||||||
type: chargeMove2Type
|
type: chargeMove2Type
|
||||||
}));
|
}), react_1.default.createElement("div", null, react_1.default.createElement("h4", null, "Type Coverage")));
|
||||||
}
|
}
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
@ -39796,9 +39802,9 @@ function (_react_1$default$Comp) {
|
|||||||
var typeIndicator;
|
var typeIndicator;
|
||||||
|
|
||||||
if (value === Pokemon_1.TypeEffectiveness.SUPER_EFFECTIVE || value === Pokemon_1.TypeEffectiveness.NOT_VERY_EFFECTIVE) {
|
if (value === Pokemon_1.TypeEffectiveness.SUPER_EFFECTIVE || value === Pokemon_1.TypeEffectiveness.NOT_VERY_EFFECTIVE) {
|
||||||
|
// using `key` because these are later transformed into an array of duplicate elements
|
||||||
typeIndicator = react_1.default.createElement(TypeIndicator_1.TypeIndicator, {
|
typeIndicator = react_1.default.createElement(TypeIndicator_1.TypeIndicator, {
|
||||||
key: key,
|
key: key,
|
||||||
className: "test",
|
|
||||||
type: key
|
type: key
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import POGOProtos from 'pogo-protos';
|
|||||||
|
|
||||||
import { AjaxRequest } from 'api/AjaxRequest';
|
import { AjaxRequest } from 'api/AjaxRequest';
|
||||||
|
|
||||||
import { IConfig, IConfigJson } from 'app/models/Config';
|
import { AttackTypeEffectivenessSerializingTuple, IConfig, IConfigJson } from 'app/models/Config';
|
||||||
import { ILeaguePokemon } from 'app/models/League';
|
import { ILeaguePokemon } from 'app/models/League';
|
||||||
import { IPokemon, TypeEffectiveness } from 'app/models/Pokemon';
|
import { IPokemon, TypeEffectiveness } from 'app/models/Pokemon';
|
||||||
|
|
||||||
@ -29,8 +29,17 @@ export class PokemonService implements IPokemonService {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const response : IConfigJson = await this.AjaxRequest.ajaxGet('/dist/db/config.json', queryParameters);
|
const response : IConfigJson = await this.AjaxRequest.ajaxGet('/dist/db/config.json', queryParameters);
|
||||||
|
const attackTypeEffectiveness = response.attackTypeEffectiveness.map((tuple) => {
|
||||||
|
const deserialize : AttackTypeEffectivenessSerializingTuple = [
|
||||||
|
tuple[0],
|
||||||
|
new Map(tuple[1]),
|
||||||
|
];
|
||||||
|
return deserialize;
|
||||||
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...response,
|
...response,
|
||||||
|
attackTypeEffectiveness: new Map(attackTypeEffectiveness),
|
||||||
combatMoves: new Map(response.combatMoves),
|
combatMoves: new Map(response.combatMoves),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -229,6 +229,7 @@ class PokemonApp extends React.Component<IConnectedPokemonAppProps, IState> {
|
|||||||
quickMoves={ leaguePokemon.moves.quick }
|
quickMoves={ leaguePokemon.moves.quick }
|
||||||
chargeMoves={ leaguePokemon.moves.cinematic }
|
chargeMoves={ leaguePokemon.moves.cinematic }
|
||||||
selectedMoves={ selectedCombatMoves }
|
selectedMoves={ selectedCombatMoves }
|
||||||
|
attackTypeEffectiveness={ null }
|
||||||
combatMoveSelectorsOpen={ combatMoveSelectorsOpen }
|
combatMoveSelectorsOpen={ combatMoveSelectorsOpen }
|
||||||
handleToggleDropdownOpen={ this.handleToggleDropdownOpen }
|
handleToggleDropdownOpen={ this.handleToggleDropdownOpen }
|
||||||
handleChangeSelectedMove={ this.handleChangeSelectedMove }
|
handleChangeSelectedMove={ this.handleChangeSelectedMove }
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import React from 'react';
|
|||||||
|
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
|
import { AttackTypeEffectiveness } from 'app/models/Config';
|
||||||
import { CombatMoveStats, ICombatMoveStats, IPokemonMove } from 'app/models/Pokemon';
|
import { CombatMoveStats, ICombatMoveStats, IPokemonMove } from 'app/models/Pokemon';
|
||||||
|
|
||||||
import { CombatMoveSelectorsOpen, SelectedCombatMoves } from 'app/types';
|
import { CombatMoveSelectorsOpen, SelectedCombatMoves } from 'app/types';
|
||||||
@ -20,6 +21,7 @@ export interface IMovesExplorerProps {
|
|||||||
chargeMove1 : IPokemonMove | null;
|
chargeMove1 : IPokemonMove | null;
|
||||||
chargeMove2 : IPokemonMove | null;
|
chargeMove2 : IPokemonMove | null;
|
||||||
};
|
};
|
||||||
|
attackTypeEffectiveness : AttackTypeEffectiveness | null;
|
||||||
combatMoveSelectorsOpen : CombatMoveSelectorsOpen;
|
combatMoveSelectorsOpen : CombatMoveSelectorsOpen;
|
||||||
handleToggleDropdownOpen : (menu : keyof CombatMoveSelectorsOpen, isOpen : boolean) => void;
|
handleToggleDropdownOpen : (menu : keyof CombatMoveSelectorsOpen, isOpen : boolean) => void;
|
||||||
handleChangeSelectedMove : (moves : SelectedCombatMoves) => void;
|
handleChangeSelectedMove : (moves : SelectedCombatMoves) => void;
|
||||||
@ -96,6 +98,10 @@ export class MovesExplorer extends React.Component<IMovesExplorerProps> {
|
|||||||
{ chargeMove2 && chargeMove2Type &&
|
{ chargeMove2 && chargeMove2Type &&
|
||||||
<TypeIndicator className={ chargeMove2Css } type={ chargeMove2Type } />
|
<TypeIndicator className={ chargeMove2Css } type={ chargeMove2Type } />
|
||||||
}
|
}
|
||||||
|
<div>
|
||||||
|
<h4>Type Coverage</h4>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -51,7 +51,8 @@ export class TypeEffectiveDisplay extends React.Component<ITypeEffectiveDisplayP
|
|||||||
if (value === TypeEffectiveness.SUPER_EFFECTIVE ||
|
if (value === TypeEffectiveness.SUPER_EFFECTIVE ||
|
||||||
value === TypeEffectiveness.NOT_VERY_EFFECTIVE
|
value === TypeEffectiveness.NOT_VERY_EFFECTIVE
|
||||||
) {
|
) {
|
||||||
typeIndicator = <TypeIndicator key={ key } className="test" type={ key } />;
|
// using `key` because these are later transformed into an array of duplicate elements
|
||||||
|
typeIndicator = <TypeIndicator key={ key } type={ key } />;
|
||||||
} else {
|
} else {
|
||||||
typeIndicator = <TypeIndicator type={ key } />;
|
typeIndicator = <TypeIndicator type={ key } />;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,13 +1,23 @@
|
|||||||
import POGOProtos from 'pogo-protos';
|
import POGOProtos from 'pogo-protos';
|
||||||
|
|
||||||
import { CombatMoveStats, ICombatMoveStats, IMaxStats } from 'app/models/Pokemon';
|
import { CombatMoveStats, ICombatMoveStats, IMaxStats, TypeEffectiveness } from 'app/models/Pokemon';
|
||||||
|
|
||||||
|
type TypeEffectivenessByTypeJson = Array<[POGOProtos.Enums.PokemonType, TypeEffectiveness]>;
|
||||||
|
type AttackTypeEffectivenessJson = Array<[POGOProtos.Enums.PokemonType, TypeEffectivenessByTypeJson]>;
|
||||||
|
|
||||||
export interface IConfigJson {
|
export interface IConfigJson {
|
||||||
maxPossibleStats : IMaxStats;
|
maxPossibleStats : IMaxStats;
|
||||||
|
attackTypeEffectiveness : AttackTypeEffectivenessJson;
|
||||||
combatMoves : Array<[POGOProtos.Enums.PokemonMove, ICombatMoveStats]>;
|
combatMoves : Array<[POGOProtos.Enums.PokemonMove, ICombatMoveStats]>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type TypeEffectivenessByType = Map<POGOProtos.Enums.PokemonType, TypeEffectiveness>;
|
||||||
|
export type AttackTypeEffectiveness = Map<POGOProtos.Enums.PokemonType, TypeEffectivenessByType>;
|
||||||
|
|
||||||
export interface IConfig {
|
export interface IConfig {
|
||||||
maxPossibleStats : IMaxStats;
|
maxPossibleStats : IMaxStats;
|
||||||
|
attackTypeEffectiveness : AttackTypeEffectiveness;
|
||||||
combatMoves : CombatMoveStats;
|
combatMoves : CombatMoveStats;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type AttackTypeEffectivenessSerializingTuple = [POGOProtos.Enums.PokemonType, TypeEffectivenessByType];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user