Fast Foddie Issue Can't Place Food JavaScript

Okay So I’m Having Issues with this code and cannot figure out why the food won’t be placed HELP

const gameState = {
score: 0,
starRating: 5,
currentWaveCount: 1,
customersServedCount: 0,
customerIsReady: false,
cam: {},
readyForNextOrder: true,
gameSpeed: 3,
serviceCountdown: {},
currentMusic: {},
totalWaveCount: 3,
countdownTimer: 1500
}

// Gameplay scene
class GameScene extends Phaser.Scene {
constructor() {
super({ key: ‘GameScene’ })
}

preload() {
// Preload images
const baseURL = ‘https://content.codecademy.com/courses/learn-phaser/fastfoodie/’;
this.load.image(‘Chef’, ${baseURL}art/Chef.png);
this.load.image(‘Customer-1’, ${baseURL}art/Customer-1.png);
this.load.image(‘Customer-2’, ${baseURL}art/Customer-2.png);
this.load.image(‘Customer-3’, ${baseURL}art/Customer-3.png);
this.load.image(‘Customer-4’, ${baseURL}art/Customer-4.png);
this.load.image(‘Customer-5’, ${baseURL}art/Customer-5.png);
this.load.image(‘Floor-Server’, ${baseURL}art/Floor-Server.png);
this.load.image(‘Floor-Customer’, ${baseURL}art/Floor-Customer.png);
this.load.image(‘Tray’, ${baseURL}art/Tray.png);
this.load.image(‘Barrier’, ${baseURL}art/Barrier.png);
this.load.image(‘Star-full’, ${baseURL}art/Star-full.png);
this.load.image(‘Star-half’, ${baseURL}art/Star-half.png);
this.load.image(‘Star-empty’, ${baseURL}art/Star-empty.png);

// Preload song
this.load.audio('gameplayTheme', [
  `${baseURL}audio/music/2-gameplayTheme.ogg`,
  `${baseURL}audio/music/2-gameplayTheme.mp3`
]); // Credit: "Pixel Song #18" by hmmm101: https://freesound.org/people/hmmm101

// Preload SFX
this.load.audio('placeFoodSFX', [
  `${baseURL}audio/sfx/placeFood.ogg`,
  `${baseURL}audio/sfx/placeFood.mp3`
]); // Credit: "action_02.wav" by dermotte: https://freesound.org/people/dermotte

this.load.audio('servingCorrectSFX', [
  `${baseURL}audio/sfx/servingCorrect.ogg`,
  `${baseURL}audio/sfx/servingCorrect.mp3`
]); // Credit: "Video Game SFX Positive Action Long Tail" by rhodesmas: https://freesound.org/people/djlprojects

this.load.audio('servingIncorrectSFX', [
  `${baseURL}audio/sfx/servingIncorrect.ogg`,
  `${baseURL}audio/sfx/servingIncorrect.mp3`
]); // Credit: "Incorrect 01" by rhodesmas: https://freesound.org/people/rhodesmas

this.load.audio('servingEmptySFX', [
  `${baseURL}audio/sfx/servingEmpty.ogg`,
  `${baseURL}audio/sfx/servingEmpty.mp3`
]); // Credit: "Computer Error Noise [variants of KevinVG207's Freesound#331912].wav" by Timbre: https://freesound.org/people/Timbre

this.load.audio('fiveStarsSFX', [
  `${baseURL}audio/sfx/fiveStars.ogg`,
  `${baseURL}audio/sfx/fiveStars.mp3`
]); // Credit: "Success 01" by rhodesmas: https://freesound.org/people/rhodesmas

this.load.audio('nextWaveSFX', [
  `${baseURL}audio/sfx/nextWave.ogg`,
  `${baseURL}audio/sfx/nextWave.mp3`
]); // Credit: "old fashion radio jingle 2.wav" by rhodesmas: https://freesound.org/people/chimerical

}

create() {
// Stop, reassign, and play the new music
gameState.currentMusic.stop();
gameState.currentMusic = this.sound.add(‘gameplayTheme’);
gameState.currentMusic.play({ loop: true });

// Assign SFX
gameState.sfx = {};
gameState.sfx.placeFood = this.sound.add('placeFoodSFX');
gameState.sfx.servingCorrect = this.sound.add('servingCorrectSFX');
gameState.sfx.servingIncorrect = this.sound.add('servingIncorrectSFX');
gameState.sfx.servingEmpty = this.sound.add('servingEmptySFX');
gameState.sfx.fiveStars = this.sound.add('fiveStarsSFX');
gameState.sfx.nextWave = this.sound.add('nextWaveSFX');

// Create environment sprites
gameState.floorServer = this.add.sprite(gameState.cam.midPoint.x, 0, 'Floor-Server').setScale(0.5).setOrigin(0.5, 0);
gameState.floorCustomer = this.add.sprite(gameState.cam.midPoint.x, gameState.cam.worldView.bottom, 'Floor-Customer').setScale(0.5).setOrigin(0.5, 1);
gameState.table = this.add.sprite(gameState.cam.midPoint.x, gameState.cam.midPoint.y, 'Barrier').setScale(0.5);

// Create player and tray sprites
gameState.tray = this.add.sprite(gameState.cam.midPoint.x, gameState.cam.midPoint.y, 'Tray').setScale(0.5);
gameState.player = this.add.sprite(gameState.cam.midPoint.x, 200, 'Chef').setScale(0.5);

// Display the score
gameState.scoreTitleText = this.add.text(gameState.cam.midPoint.x, 30, 'Score', { fontSize: '15px', fill: '#666666' }).setOrigin(0.5);
gameState.scoreText = this.add.text(gameState.cam.midPoint.x, gameState.scoreTitleText.y + gameState.scoreTitleText.height + 20, gameState.score, { fontSize: '30px', fill: '#000000' }).setOrigin(0.5);

// Display the wave count
gameState.waveTitleText = this.add.text(gameState.cam.worldView.right - 20, 30, 'Wave', { fontSize: '64px', fill: '#666666' }).setOrigin(1, 1).setScale(0.25);
gameState.waveCountText = this.add.text(gameState.cam.worldView.right - 20, 30, gameState.currentWaveCount + '/' + gameState.totalWaveCount, { fontSize: '120px', fill: '#000000' }).setOrigin(1, 0).setScale(0.25);

// Display number of customers left
gameState.customerCountText = this.add.text(gameState.cam.worldView.right - 20, 80, `Customers left: ${gameState.customersLeftCount}`, { fontSize: '15px', fill: '#000000' }).setOrigin(1);

// Generate wave group
gameState.customers = this.add.group();
this.generateWave();

gameState.currentMeal = this.add.group();
gameState.currentMeal.fullnessValue = 0;

gameState.keys.Enter = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.ENTER);
gameState.keys.A = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.A);
gameState.keys.S = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.S);
gameState.keys.D = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.D);
}

update() {
if (gameState.readyForNextOrder) {
gameState.readyForNextOrder = false;

  gameState.customerIsReady = true;
  
  gameState.currentCustomer = gameState.customers.children.entries[gameState.customersServedCount];
  this.tweens.add({
    targets: gameState.currentCustomer,
    x: gameState.player.x,
    angle: 90,
    delay: 100,
    duration: 1000,
    ease: 'Power2',
    onComplete: () => {
      gameState.currentCustomer.meterContainer.visible = true;
      gameState.customerIsReady = true;

      // If player is too slow, go to next order
      gameState.serviceCountdown = this.time.delayedCall(gameState.countdownTimer * gameState.gameSpeed, function () {
        this.moveCustomerLine();
      }, [], this);
    }
  });
  
   /* KEYBOARD KEYS */
// Press A to put burger on the tray
if (Phaser.Input.Keyboard.JustDown(gameState.keys.A)) {
  this.placeFood('Burger', 5);
}

// Press S to put fries on the tray
if (Phaser.Input.Keyboard.JustDown(gameState.keys.S)) {
  this.placeFood('Fries', 3);
}

// Press D to put a shake on the tray
if (Phaser.Input.Keyboard.JustDown(gameState.keys.D)) {
  this.placeFood('Shake', 1);
}

if (Phaser.Input.Keyboard.JustDown(gameState.keys.Enter)) {
  if (!gameState.readyForNextOrder && gameState.customerIsReady) {
    gameState.serviceCountdown.remove();
    this.moveCustomerLine();
    this.updateCustomerCountText();
  }
}
}

}

/* WAVES */
// Generate wave
generateWave() {
gameState.totalCustomerCount = Math.ceil(gameState.currentWaveCount * Math.random() * 10);
gameState.customersServedCount = 0;
// Add the total number of customers per wave here:
gameState.totalCustomerCount = Math.ceil(gameState.currentWaveCount * Math.random() * 10);

this.updateCustomerCountText();

for (let i = 0; i < gameState.totalCustomerCount; i++) {

let customerContainer = this.add.container(gameState.cam.worldView.right + (200 * i), gameState.cam.worldView.bottom - 140);
gameState.customers.add(customerContainer);

  // Customer sprite randomizer
  let customerImageKey = Math.ceil(Math.random() * 5);

  // Draw customers here!

let customer = this.add.sprite(0, 0, ‘Customer-’ + customerImageKey).setScale(0.5);
customerContainer.add(customer);

  // Fullness meter container
  customerContainer.fullnessMeter = this.add.group();

  // Define capacity
  customerContainer.fullnessCapacity = Math.ceil(Math.random() * 5 * gameState.totalWaveCount);

  // If capacity is an impossible number, reshuffle it until it isn't
  while (customerContainer.fullnessCapacity === 12 || customerContainer.fullnessCapacity === 14) {
    customerContainer.fullnessCapacity = Math.ceil(Math.random() * 5) * gameState.totalWaveCount;
  }

  // Edit the meterWidth
  let meterWidth = customerContainer.fullnessCapacity * 10;
  customerContainer.meterContainer = this.add.container(0, customer.y + (meterWidth / 2));
  customerContainer.add(customerContainer.meterContainer);

  // Add meter base
  customerContainer.meterBase = this.add.rectangle(-130, customer.y, meterWidth, 33, 0x707070).setOrigin(0);
  customerContainer.meterBase.setStrokeStyle(6, 0x707070);
  customerContainer.meterBase.angle = -90;
  customerContainer.meterContainer.add(customerContainer.meterBase);

  // Add timer countdown meter body
  customerContainer.timerMeterBody = this.add.rectangle(customerContainer.meterBase.x + 22, customer.y + 1, meterWidth + 4, 12, 0x3ADB40).setOrigin(0);
  customerContainer.timerMeterBody.angle = -90;
  customerContainer.meterContainer.add(customerContainer.timerMeterBody);

  // Create container for individual fullness blocks
  customerContainer.fullnessMeterBlocks = [];

  // Create fullness meter blocks
  for (let j = 0; j < customerContainer.fullnessCapacity; j++) {
    customerContainer.fullnessMeterBlocks[j] = this.add.rectangle(customerContainer.meterBase.x, customer.y - (10 * j), 10, 20, 0xDBD53A).setOrigin(0);
    customerContainer.fullnessMeterBlocks[j].setStrokeStyle(2, 0xB9B42E);
    customerContainer.fullnessMeterBlocks[j].angle = -90;
    customerContainer.fullnessMeter.add(customerContainer.fullnessMeterBlocks[j]);
    customerContainer.meterContainer.add(customerContainer.fullnessMeterBlocks[j]);
  }

  // Hide meters
  customerContainer.meterContainer.visible = false;
}

}
// Update customer count
updateCustomerCountText() {
gameState.customersLeftCount = gameState.totalCustomerCount - gameState.customersServedCount;
gameState.customerCountText.setText('Customers left: ’ + gameState.customersLeftCount);
gameState.waveCountText.setText(gameState.currentWaveCount + ‘/’ + gameState.totalWaveCount);
}
// Place food down
placeFood(food, fullnessValue) {
if (gameState.currentMeal.children.entries.length < 3 && gameState.customerIsReady) {
gameState.sfx.placeFood.play();

  let Xposition = gameState.tray.x;
  switch (gameState.currentMeal.children.entries.length) {
    case 0:
      Xposition -= 90;
      break;
    case 2:
      Xposition += 90;
      break;
  }
  gameState.currentMeal.create(Xposition, gameState.tray.y, food).setScale(0.5);
  gameState.currentMeal.fullnessValue += fullnessValue;

  for (let i = 0; i < gameState.currentMeal.fullnessValue; i++) {
    if (i < gameState.currentCustomer.fullnessCapacity) {
      if (gameState.currentCustomer.fullnessCapacity === gameState.currentMeal.fullnessValue) {
        // If exactly full, show a positive color
        gameState.currentCustomer.fullnessMeterBlocks[i].setFillStyle(0x3ADB40);
        gameState.currentCustomer.fullnessMeterBlocks[i].setStrokeStyle(2, 0x2EB94E);
      } else if (gameState.currentMeal.fullnessValue > gameState.currentCustomer.fullnessCapacity) {
        // If more full, turn red
        gameState.currentCustomer.fullnessMeterBlocks[i].setFillStyle(0xDB533A);
        gameState.currentCustomer.fullnessMeterBlocks[i].setStrokeStyle(2, 0xB92E2E);
      } else {
        // Otherwise, slight color change
        gameState.currentCustomer.fullnessMeterBlocks[i].setFillStyle(0xFFFA81);
      }
    }
  }
}

}
}

Hey gigabyte05!
I may be willing to help, but in order to do that please write three backticks ``` before and after the code block in order to style formatting it and making it more visible.

Cheers,

Here It is

  score: 0,
  starRating: 5,
  currentWaveCount: 1,
  customersServedCount: 0,
  customerIsReady: false,
  cam: {},
  readyForNextOrder: true,
  gameSpeed: 3,
  serviceCountdown: {},
  currentMusic: {},
  totalWaveCount: 3,
  countdownTimer: 1500
}

// Gameplay scene
class GameScene extends Phaser.Scene {
  constructor() {
    super({ key: 'GameScene' })
  }

  preload() {
    // Preload images
    const baseURL = 'https://content.codecademy.com/courses/learn-phaser/fastfoodie/';
    this.load.image('Chef', `${baseURL}art/Chef.png`);
    this.load.image('Customer-1', `${baseURL}art/Customer-1.png`);
    this.load.image('Customer-2', `${baseURL}art/Customer-2.png`);
    this.load.image('Customer-3', `${baseURL}art/Customer-3.png`);
    this.load.image('Customer-4', `${baseURL}art/Customer-4.png`);
    this.load.image('Customer-5', `${baseURL}art/Customer-5.png`);
    this.load.image('Floor-Server', `${baseURL}art/Floor-Server.png`);
    this.load.image('Floor-Customer', `${baseURL}art/Floor-Customer.png`);
    this.load.image('Tray', `${baseURL}art/Tray.png`);
    this.load.image('Barrier', `${baseURL}art/Barrier.png`);
    this.load.image('Star-full', `${baseURL}art/Star-full.png`);
    this.load.image('Star-half', `${baseURL}art/Star-half.png`);
    this.load.image('Star-empty', `${baseURL}art/Star-empty.png`);

    // Preload song
    this.load.audio('gameplayTheme', [
      `${baseURL}audio/music/2-gameplayTheme.ogg`,
      `${baseURL}audio/music/2-gameplayTheme.mp3`
    ]); // Credit: "Pixel Song #18" by hmmm101: https://freesound.org/people/hmmm101

    // Preload SFX
    this.load.audio('placeFoodSFX', [
      `${baseURL}audio/sfx/placeFood.ogg`,
      `${baseURL}audio/sfx/placeFood.mp3`
    ]); // Credit: "action_02.wav" by dermotte: https://freesound.org/people/dermotte

    this.load.audio('servingCorrectSFX', [
      `${baseURL}audio/sfx/servingCorrect.ogg`,
      `${baseURL}audio/sfx/servingCorrect.mp3`
    ]); // Credit: "Video Game SFX Positive Action Long Tail" by rhodesmas: https://freesound.org/people/djlprojects

    this.load.audio('servingIncorrectSFX', [
      `${baseURL}audio/sfx/servingIncorrect.ogg`,
      `${baseURL}audio/sfx/servingIncorrect.mp3`
    ]); // Credit: "Incorrect 01" by rhodesmas: https://freesound.org/people/rhodesmas

    this.load.audio('servingEmptySFX', [
      `${baseURL}audio/sfx/servingEmpty.ogg`,
      `${baseURL}audio/sfx/servingEmpty.mp3`
    ]); // Credit: "Computer Error Noise [variants of KevinVG207's Freesound#331912].wav" by Timbre: https://freesound.org/people/Timbre

    this.load.audio('fiveStarsSFX', [
      `${baseURL}audio/sfx/fiveStars.ogg`,
      `${baseURL}audio/sfx/fiveStars.mp3`
    ]); // Credit: "Success 01" by rhodesmas: https://freesound.org/people/rhodesmas

    this.load.audio('nextWaveSFX', [
      `${baseURL}audio/sfx/nextWave.ogg`,
      `${baseURL}audio/sfx/nextWave.mp3`
    ]); // Credit: "old fashion radio jingle 2.wav" by rhodesmas: https://freesound.org/people/chimerical
  }

  create() {
    // Stop, reassign, and play the new music
    gameState.currentMusic.stop();
    gameState.currentMusic = this.sound.add('gameplayTheme');
    gameState.currentMusic.play({ loop: true });

    // Assign SFX
    gameState.sfx = {};
    gameState.sfx.placeFood = this.sound.add('placeFoodSFX');
    gameState.sfx.servingCorrect = this.sound.add('servingCorrectSFX');
    gameState.sfx.servingIncorrect = this.sound.add('servingIncorrectSFX');
    gameState.sfx.servingEmpty = this.sound.add('servingEmptySFX');
    gameState.sfx.fiveStars = this.sound.add('fiveStarsSFX');
    gameState.sfx.nextWave = this.sound.add('nextWaveSFX');

    // Create environment sprites
    gameState.floorServer = this.add.sprite(gameState.cam.midPoint.x, 0, 'Floor-Server').setScale(0.5).setOrigin(0.5, 0);
    gameState.floorCustomer = this.add.sprite(gameState.cam.midPoint.x, gameState.cam.worldView.bottom, 'Floor-Customer').setScale(0.5).setOrigin(0.5, 1);
    gameState.table = this.add.sprite(gameState.cam.midPoint.x, gameState.cam.midPoint.y, 'Barrier').setScale(0.5);

    // Create player and tray sprites
    gameState.tray = this.add.sprite(gameState.cam.midPoint.x, gameState.cam.midPoint.y, 'Tray').setScale(0.5);
    gameState.player = this.add.sprite(gameState.cam.midPoint.x, 200, 'Chef').setScale(0.5);

    // Display the score
    gameState.scoreTitleText = this.add.text(gameState.cam.midPoint.x, 30, 'Score', { fontSize: '15px', fill: '#666666' }).setOrigin(0.5);
    gameState.scoreText = this.add.text(gameState.cam.midPoint.x, gameState.scoreTitleText.y + gameState.scoreTitleText.height + 20, gameState.score, { fontSize: '30px', fill: '#000000' }).setOrigin(0.5);

    // Display the wave count
    gameState.waveTitleText = this.add.text(gameState.cam.worldView.right - 20, 30, 'Wave', { fontSize: '64px', fill: '#666666' }).setOrigin(1, 1).setScale(0.25);
    gameState.waveCountText = this.add.text(gameState.cam.worldView.right - 20, 30, gameState.currentWaveCount + '/' + gameState.totalWaveCount, { fontSize: '120px', fill: '#000000' }).setOrigin(1, 0).setScale(0.25);

    // Display number of customers left
    gameState.customerCountText = this.add.text(gameState.cam.worldView.right - 20, 80, `Customers left: ${gameState.customersLeftCount}`, { fontSize: '15px', fill: '#000000' }).setOrigin(1);
    
    // Generate wave group
    gameState.customers = this.add.group();
    this.generateWave();

   gameState.currentMeal = this.add.group();
    gameState.currentMeal.fullnessValue = 0;

  gameState.keys.Enter = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.ENTER);
    gameState.keys.A = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.A);
    gameState.keys.S = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.S);
    gameState.keys.D = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.D);
  }

  update() {
    if (gameState.readyForNextOrder) {
      gameState.readyForNextOrder = false;

      gameState.customerIsReady = true;
      
      gameState.currentCustomer = gameState.customers.children.entries[gameState.customersServedCount];
      this.tweens.add({
        targets: gameState.currentCustomer,
        x: gameState.player.x,
        angle: 90,
        delay: 100,
        duration: 1000,
        ease: 'Power2',
        onComplete: () => {
          gameState.currentCustomer.meterContainer.visible = true;
          gameState.customerIsReady = true;

          // If player is too slow, go to next order
          gameState.serviceCountdown = this.time.delayedCall(gameState.countdownTimer * gameState.gameSpeed, function () {
            this.moveCustomerLine();
          }, [], this);
        }
      });
      
       /* KEYBOARD KEYS */
    // Press A to put burger on the tray
    if (Phaser.Input.Keyboard.JustDown(gameState.keys.A)) {
      this.placeFood('Burger', 5);
    }

    // Press S to put fries on the tray
    if (Phaser.Input.Keyboard.JustDown(gameState.keys.S)) {
      this.placeFood('Fries', 3);
    }

    // Press D to put a shake on the tray
    if (Phaser.Input.Keyboard.JustDown(gameState.keys.D)) {
      this.placeFood('Shake', 1);
    }

    if (Phaser.Input.Keyboard.JustDown(gameState.keys.Enter)) {
      if (!gameState.readyForNextOrder && gameState.customerIsReady) {
        gameState.serviceCountdown.remove();
        this.moveCustomerLine();
        this.updateCustomerCountText();
      }
    }
    }
  }

  /* WAVES */
  // Generate wave
  generateWave() {
    gameState.totalCustomerCount = Math.ceil(gameState.currentWaveCount * Math.random() * 10);
    gameState.customersServedCount = 0;
    // Add the total number of customers per wave here:
    gameState.totalCustomerCount = Math.ceil(gameState.currentWaveCount * Math.random() * 10);

 this.updateCustomerCountText();

    for (let i = 0; i < gameState.totalCustomerCount; i++) {
let customerContainer = this.add.container(gameState.cam.worldView.right + (200 * i), gameState.cam.worldView.bottom - 140);
      gameState.customers.add(customerContainer);

      // Customer sprite randomizer
      let customerImageKey = Math.ceil(Math.random() * 5);

      // Draw customers here!

 let customer = this.add.sprite(0, 0, 'Customer-' + customerImageKey).setScale(0.5);
      customerContainer.add(customer);

      
      // Fullness meter container
      customerContainer.fullnessMeter = this.add.group();

      // Define capacity
      customerContainer.fullnessCapacity = Math.ceil(Math.random() * 5 * gameState.totalWaveCount);

      // If capacity is an impossible number, reshuffle it until it isn't
      while (customerContainer.fullnessCapacity === 12 || customerContainer.fullnessCapacity === 14) {
        customerContainer.fullnessCapacity = Math.ceil(Math.random() * 5) * gameState.totalWaveCount;
      }

      // Edit the meterWidth
      let meterWidth = customerContainer.fullnessCapacity * 10;
      customerContainer.meterContainer = this.add.container(0, customer.y + (meterWidth / 2));
      customerContainer.add(customerContainer.meterContainer);

      // Add meter base
      customerContainer.meterBase = this.add.rectangle(-130, customer.y, meterWidth, 33, 0x707070).setOrigin(0);
      customerContainer.meterBase.setStrokeStyle(6, 0x707070);
      customerContainer.meterBase.angle = -90;
      customerContainer.meterContainer.add(customerContainer.meterBase);

      // Add timer countdown meter body
      customerContainer.timerMeterBody = this.add.rectangle(customerContainer.meterBase.x + 22, customer.y + 1, meterWidth + 4, 12, 0x3ADB40).setOrigin(0);
      customerContainer.timerMeterBody.angle = -90;
      customerContainer.meterContainer.add(customerContainer.timerMeterBody);

      // Create container for individual fullness blocks
      customerContainer.fullnessMeterBlocks = [];

      // Create fullness meter blocks
      for (let j = 0; j < customerContainer.fullnessCapacity; j++) {
        customerContainer.fullnessMeterBlocks[j] = this.add.rectangle(customerContainer.meterBase.x, customer.y - (10 * j), 10, 20, 0xDBD53A).setOrigin(0);
        customerContainer.fullnessMeterBlocks[j].setStrokeStyle(2, 0xB9B42E);
        customerContainer.fullnessMeterBlocks[j].angle = -90;
        customerContainer.fullnessMeter.add(customerContainer.fullnessMeterBlocks[j]);
        customerContainer.meterContainer.add(customerContainer.fullnessMeterBlocks[j]);
      }

      // Hide meters
      customerContainer.meterContainer.visible = false;
    }
  }
  // Update customer count
  updateCustomerCountText() {
    gameState.customersLeftCount = gameState.totalCustomerCount - gameState.customersServedCount;
    gameState.customerCountText.setText('Customers left: ' + gameState.customersLeftCount);
    gameState.waveCountText.setText(gameState.currentWaveCount + '/' + gameState.totalWaveCount);
  }
   // Place food down
  placeFood(food, fullnessValue) {
    if (gameState.currentMeal.children.entries.length < 3 && gameState.customerIsReady) {
      gameState.sfx.placeFood.play();

      let Xposition = gameState.tray.x;
      switch (gameState.currentMeal.children.entries.length) {
        case 0:
          Xposition -= 90;
          break;
        case 2:
          Xposition += 90;
          break;
      }
      gameState.currentMeal.create(Xposition, gameState.tray.y, food).setScale(0.5);
      gameState.currentMeal.fullnessValue += fullnessValue;

      for (let i = 0; i < gameState.currentMeal.fullnessValue; i++) {
        if (i < gameState.currentCustomer.fullnessCapacity) {
          if (gameState.currentCustomer.fullnessCapacity === gameState.currentMeal.fullnessValue) {
            // If exactly full, show a positive color
            gameState.currentCustomer.fullnessMeterBlocks[i].setFillStyle(0x3ADB40);
            gameState.currentCustomer.fullnessMeterBlocks[i].setStrokeStyle(2, 0x2EB94E);
          } else if (gameState.currentMeal.fullnessValue > gameState.currentCustomer.fullnessCapacity) {
            // If more full, turn red
            gameState.currentCustomer.fullnessMeterBlocks[i].setFillStyle(0xDB533A);
            gameState.currentCustomer.fullnessMeterBlocks[i].setStrokeStyle(2, 0xB92E2E);
          } else {
            // Otherwise, slight color change
            gameState.currentCustomer.fullnessMeterBlocks[i].setFillStyle(0xFFFA81);
          }
        }
      }
    }
   }
}```

Hey Shane
apologies for not having answered you anymore!

I remember that in one of the first steps of the project it was required to set as the first two lines inside the update() function:

gameState.readyForNextOrder = false;
gameState.customerIsReady = false;

Conceptually is like:
we are not ready to serve the next order and nor is the customer ready to order unless the customer has moved and it is standing right in front of us”.

In fact then we change that inside the tween through the callback from onComplete.

Try to see if that changes anything.
Unfortunately Phaser has very poor documentation, so if you have some doubts or some steps of the Capstone are not clear (and some are not) there’s not much to do.
My advice is to just grab the js files from the finished project and compare them to what you have coded.

In that particular project I remember that I got stuck in serving the food too, for some reason it would not grab the input from the keyboard. Or that is what I thought. The project would say that to verify that the code worked we should have seen in the game some changes in the customer meter, but I didn’t get those changes, so I got annoyed after wasting some time debugging and I quit it. :slight_smile:

Cheers,

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.