triple digit gem counter

This commit is contained in:
RandomityGuy 2023-02-14 17:24:45 +05:30
parent 7fbf8f26af
commit 4bfd6dd6be
4 changed files with 35 additions and 20 deletions

View file

@ -3,11 +3,11 @@ package src;
import haxe.io.BytesInput;
import haxe.zip.Reader;
import hxd.res.Image;
import hxd.BitmapData;
import haxe.Json;
import src.Mission;
import src.Http;
import src.ResourceLoader;
import src.Console;
class Marbleland {
public static var goldMissions = [];
@ -17,12 +17,15 @@ class Marbleland {
public static function init() {
Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_gold.json', (b) -> {
parseMissionList(b.toString(), "gold");
Console.log('Loaded gold customs: ${goldMissions.length}');
}, (e) -> {});
Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_ultra.json', (b) -> {
parseMissionList(b.toString(), "ultra");
Console.log('Loaded ultra customs: ${ultraMissions.length}');
}, (e) -> {});
Http.get('https://raw.githubusercontent.com/Vanilagy/MarbleBlast/master/src/assets/customs_platinum.json', (b) -> {
parseMissionList(b.toString(), "platinum");
Console.log('Loaded platinum customs: ${platinumMissions.length}');
}, (e) -> {});
}

View file

@ -27,7 +27,7 @@ class BVHTree<T:IBVHObject> {
public function new() {}
function update() {
public function update() {
var invalidNodes = [];
this.traverse(node -> {
if (node.isLeaf) {

View file

@ -136,7 +136,7 @@ class PlayGui {
timerNumbers.push(new GuiAnim(numberTiles));
}
for (i in 0...4) {
for (i in 0...6) {
gemCountNumbers.push(new GuiAnim(numberTiles));
}
@ -277,21 +277,29 @@ class PlayGui {
gemCountNumbers[1].position = new Vector(54, 0);
gemCountNumbers[1].extent = new Vector(43, 55);
gemCountSlash = new GuiImage(ResourceLoader.getResource('data/ui/game/numbers/slash.png', ResourceLoader.getImage, this.imageResources).toTile());
gemCountSlash.position = new Vector(75, 0);
gemCountSlash.extent = new Vector(43, 55);
gemCountNumbers[2].position = new Vector(96, 0);
gemCountNumbers[2].position = new Vector(78, 0);
gemCountNumbers[2].extent = new Vector(43, 55);
gemCountSlash = new GuiImage(ResourceLoader.getResource('data/ui/game/numbers/slash.png', ResourceLoader.getImage, this.imageResources).toTile());
gemCountSlash.position = new Vector(99, 0);
gemCountSlash.extent = new Vector(43, 55);
gemCountNumbers[3].position = new Vector(120, 0);
gemCountNumbers[3].extent = new Vector(43, 55);
gemCountNumbers[4].position = new Vector(144, 0);
gemCountNumbers[4].extent = new Vector(43, 55);
gemCountNumbers[5].position = new Vector(168, 0);
gemCountNumbers[5].extent = new Vector(43, 55);
playGuiCtrl.addChild(gemCountNumbers[0]);
playGuiCtrl.addChild(gemCountNumbers[1]);
playGuiCtrl.addChild(gemCountSlash);
playGuiCtrl.addChild(gemCountNumbers[2]);
playGuiCtrl.addChild(gemCountSlash);
playGuiCtrl.addChild(gemCountNumbers[3]);
playGuiCtrl.addChild(gemCountNumbers[4]);
playGuiCtrl.addChild(gemCountNumbers[5]);
this.gemImageScene = new h3d.scene.Scene();
// var gemImageRenderer = cast(this.gemImageScene.renderer, h3d.scene.Renderer);
@ -576,16 +584,20 @@ class PlayGui {
gemImageSceneTargetBitmap.visible = true;
}
var totalTenths = Math.floor(total / 10);
var totalHundredths = Math.floor(total / 100);
var totalTenths = Math.floor(total / 10) % 10;
var totalOnes = total % 10;
var collectedTenths = Math.floor(collected / 10);
var collectedHundredths = Math.floor(collected / 100);
var collectedTenths = Math.floor(collected / 10) % 10;
var collectedOnes = collected % 10;
gemCountNumbers[0].anim.currentFrame = collectedTenths;
gemCountNumbers[1].anim.currentFrame = collectedOnes;
gemCountNumbers[2].anim.currentFrame = totalTenths;
gemCountNumbers[3].anim.currentFrame = totalOnes;
gemCountNumbers[0].anim.currentFrame = collectedHundredths;
gemCountNumbers[1].anim.currentFrame = collectedTenths;
gemCountNumbers[2].anim.currentFrame = collectedOnes;
gemCountNumbers[3].anim.currentFrame = totalHundredths;
gemCountNumbers[4].anim.currentFrame = totalTenths;
gemCountNumbers[5].anim.currentFrame = totalOnes;
}
// 0: default
@ -602,7 +614,7 @@ class PlayGui {
var secondsOne = seconds % 10;
var secondsTen = (seconds - secondsOne) / 10;
var minutesOne = minutes % 10;
var minutesTen = (minutes - minutesOne) / 10;
var minutesTen = ((minutes - minutesOne) / 10) % 10;
var hundredthOne = hundredth % 10;
var hundredthTen = (hundredth - hundredthOne) / 10;

View file

@ -782,10 +782,10 @@ class PlayMissionGui extends GuiImage {
setCategoryFunc = function(game:String, category:String, ?doRender:Bool = true) {
currentList = category == "custom" ? (switch (game) {
case 'gold': Marbleland.goldMissions;
case 'platinum': Marbleland.platinumMissions;
case 'ultra': Marbleland.ultraMissions;
default: MissionList.customMissions;
case 'gold' if (Marbleland.goldMissions.length != 0): Marbleland.goldMissions;
case 'platinum' if (Marbleland.platinumMissions.length != 0): Marbleland.platinumMissions;
case 'ultra' if (Marbleland.ultraMissions.length != 0): Marbleland.ultraMissions;
default: currentList;
}) : MissionList.missionList[game][category];
@:privateAccess pmDifficulty.anim.frames = loadButtonImages('data/ui/play/difficulty_${category}');
pmDifficultyMarble.bmp.tile = ResourceLoader.getResource('data/ui/play/marble_${game}.png', ResourceLoader.getImage, this.imageResources).toTile();