parent
9e58d2a3df
commit
e3cd361c46
7 changed files with 111 additions and 6 deletions
Before Width: | Height: | Size: 419 B After Width: | Height: | Size: 419 B |
@ -0,0 +1,15 @@ |
||||
.cont-canvas |
||||
{ |
||||
width: 100%; |
||||
height: 100%; |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
} |
||||
|
||||
#sys-canvas |
||||
{ |
||||
border: 1px solid black; |
||||
border-radius: 10px; |
||||
background-color: rgba(0, 0, 0, 0.589); |
||||
} |
@ -0,0 +1,3 @@ |
||||
<div class="cont-canvas"> |
||||
<canvas id="sys-canvas"></canvas> |
||||
</div> |
@ -0,0 +1,76 @@ |
||||
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" |
||||
|
||||
|
||||
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); |
||||
SystemBuilder.get(sys_name, (system) => { |
||||
system.list_all_planets((planets) => { |
||||
canvas.clean(); |
||||
planets.forEach((planet) => { |
||||
let urls = get_img_from_type(planet); |
||||
if(urls.length) |
||||
{ |
||||
canvas.obj_from_img("assets/planets/" + urls[Math.floor(Math.random() * urls.length)], canvas.rel_pos(planet.position), { |
||||
selectable: true, |
||||
name: planet.name, |
||||
update: null, |
||||
}); |
||||
} |
||||
}); |
||||
}); |
||||
|
||||
$(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"); |
||||
} |
Loading…
Reference in New Issue