1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2026-03-02 03:39:21 +00:00
This commit is contained in:
tobspr
2021-06-25 16:31:56 +02:00
6 changed files with 66 additions and 56 deletions

View File

@@ -72,7 +72,7 @@ export const globalConfig = {
readerAnalyzeIntervalSeconds: 10,
goalAcceptorItemsRequired: 10,
goalAcceptorItemsRequired: 12,
goalAcceptorsPerProducer: 5,
puzzleModeSpeed: 3,
puzzleMinBoundsSize: 2,

View File

@@ -56,4 +56,12 @@ export class GoalAcceptorComponent extends Component {
(globalConfig.puzzleModeSpeed * globalConfig.beltSpeedItemsPerSecond)
);
}
/**
* Copy the current state to another component
* @param {GoalAcceptorComponent} otherComponent
*/
copyAdditionalStateTo(otherComponent) {
otherComponent.item = this.item;
}
}

View File

@@ -67,8 +67,9 @@ export class GoalAcceptorSystem extends GameSystemWithFilter {
const staticComp = contents[i].components.StaticMapEntity;
const item = goalComp.item;
const requiredItemsForSuccess = globalConfig.goalAcceptorItemsRequired;
const percentage = clamp(goalComp.currentDeliveredItems / requiredItemsForSuccess, 0, 1);
const requiredItems = globalConfig.goalAcceptorItemsRequired;
const fillPercentage = clamp(goalComp.currentDeliveredItems / requiredItems, 0, 1);
const center = staticComp.getTileSpaceBounds().getCenter().toWorldSpace();
if (item) {
@@ -81,7 +82,7 @@ export class GoalAcceptorSystem extends GameSystemWithFilter {
);
}
const isValid = item && goalComp.currentDeliveredItems >= requiredItemsForSuccess;
const isValid = item && goalComp.currentDeliveredItems >= requiredItems;
parameters.context.translate(center.x, center.y);
parameters.context.rotate((staticComp.rotation / 180) * Math.PI);
@@ -93,7 +94,7 @@ export class GoalAcceptorSystem extends GameSystemWithFilter {
// progress arc
goalComp.displayPercentage = lerp(goalComp.displayPercentage, percentage, 0.2);
goalComp.displayPercentage = lerp(goalComp.displayPercentage, fillPercentage, 0.2);
const startAngle = Math.PI * 0.595;
const maxAngle = Math.PI * 1.82;