~starkingdoms/starkingdoms

48586fa859dd4d9b74777f998417cc3da43e4eda — core 2 years ago e1f7bf7
functional pixijs rendering
1 files changed, 34 insertions(+), 12 deletions(-)

M starkingdoms-client/src/rendering.ts
M starkingdoms-client/src/rendering.ts => starkingdoms-client/src/rendering.ts +34 -12
@@ 34,12 34,31 @@ export function startRender() {
    part_sprite_map: new Map(),
  };

  app.stage.scale.set(0.4, 0.4);

  app.ticker.add(() => {
    let camera_x = -player()?.transform.x!;
    let camera_y = -player()?.transform.y!;
    // RENDER STAGE 1: UPDATE SPRITES
    global.rendering!.app.stage.x =
      -player()?.transform.x! + window.innerWidth / 2;
    global.rendering!.app.stage.y =
      -player()?.transform.y! + window.innerHeight / 2;

    for (let [id, part] of global.parts_map) {
      let part_sprite;

      if (global.rendering!.part_sprite_map.has(id)) {
        part_sprite = global.rendering!.part_sprite_map.get(id)!;
      } else {
        part_sprite = PIXI.Sprite.from(part_texture_url(part.part_type));
        global.rendering!.part_sprite_map.set(id, part_sprite);
        console.log("adding part sprite");
        global.rendering!.app.stage.addChild(part_sprite);
      }

      part_sprite.anchor.set(0.5);
      part_sprite.height = PART_HEIGHT;
      part_sprite.width = PART_WIDTH;
      part_sprite.x = part.transform.x;
      part_sprite.y = part.transform.y;
      part_sprite.rotation = part.transform.rot;
    }
    for (let [id, planet] of global.planets_map) {
      let planet_sprite;



@@ 50,18 69,19 @@ export function startRender() {
          planet_texture_url(planet.planet_type),
        );
        global.rendering!.planet_sprite_map.set(id, planet_sprite);
        global.rendering!.app.stage.addChild(planet_sprite);
        console.log("adding planet sprite");
        global.rendering!.app.stage.addChild(planet_sprite);
      }

      console.log(planet);
      planet_sprite.anchor.set(0.5);
      planet_sprite.height = planet.radius * 2;
      planet_sprite.width = planet.radius * 2;
      planet_sprite.x = planet.transform.x - planet.radius - camera_x;
      planet_sprite.y = planet.transform.y - planet.radius - camera_y;
      planet_sprite.x = planet.transform.x;
      planet_sprite.y = planet.transform.y;
      planet_sprite.rotation = planet.transform.rot;
    }
    // RENDER STAGE 2: UPDATE PARTS
    /*
    // RENDER STAGE 1: UPDATE PARTS
    for (let [id, part] of global.parts_map) {
      let part_sprite;



@@ 76,9 96,11 @@ export function startRender() {

      part_sprite.height = PART_HEIGHT;
      part_sprite.width = PART_WIDTH;
      part_sprite.x = part.transform.x - PART_WIDTH - camera_x;
      part_sprite.y = part.transform.y - PART_HEIGHT - camera_y;
      part_sprite.x = part.transform.x - PART_WIDTH;
      part_sprite.y = part.transform.y - PART_HEIGHT;
      part_sprite.rotation = part.transform.rot;
    }

 */
  });
}