You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
 
 
 
 

81 lines
2.7 KiB

import menu_mod from "./menu_mod.js";
import home from "./home.js";
import { CanvasRenderer } from "../skama_code/ui/canvas_render.js";
import { SystemBuilder } from "../skama_code/api/system.js"
import { Position } from "../skama_code/commun/position.js";
function get_img_from_type(planet)
{
switch(planet.type)
{
case "PLANET":
return ["planetproto.png"];
case "GAS_GIANT":
return [];
case "MOON":
return [];
case "ORBITAL_STATION":
return [];
case "JUMP_GATE":
return ["jumpgate.png"];
case "ASTEROID_FIELD":
return [];
case "ASTEROID":
return ["asteroid1.png", "asteroid2.png", "asteroid3.png", "asteroid4.png"];
case "ENGINEERED_ASTEROID":
return [];
case "ASTEROID_BASE":
return [];
case "NEBULA":
return [];
case "DEBRIS_FIELD":
return [];
case "GRAVITY_WELL":
return [];
case "ARTIFICIAL_GRAVITY_WELL":
return [];
case "FUEL_STATION":
return [];
case _:
return [];
}
}
export default function system(temp_engine, sys_name) {
temp_engine.after_render(() => {
$("body").css("background-image", "url('/assets/img/background.png')")
let canvas = new CanvasRenderer("sys-canvas", 1200, 700);
canvas.resize((window.innerWidth/10)*9, (window.innerHeight/5)*4);
SystemBuilder.get(sys_name, (system) => {
system.list_all_planets((planets) => {
canvas.clean();
console.log(planets)
planets.forEach((planet) => {
let urls = get_img_from_type(planet);
if(urls.length)
{
let url = urls[Math.floor(Math.random() * urls.length)];
console.log(url)
canvas.obj_from_img("assets/planets/" + url, canvas.canvas_pos(planet.position), {
selectable: false,
name: planet.name,
update: null,
});
}
});
canvas.zoom(new Position(0, 0), 0.5);
}, true);
$(window).on("resize", () => {
canvas.resize((window.innerWidth/10)*9, (window.innerHeight/5)*4);
});
canvas.start();
menu_mod(temp_engine, system);
}, (err) => {
home(temp_engine);
});
});
temp_engine.render("templates/system/system.html");
}