From 36a9cacb1cca98ea7ea47bc6942bd49c941637a4 Mon Sep 17 00:00:00 2001 From: koneko <67551503+koneko@users.noreply.github.com> Date: Fri, 17 Jan 2025 21:49:20 +0100 Subject: [PATCH] add another "tower", totally not a reskin :) --- public/assets/json/Towers.json | 16 +++++++++ public/assets/projectiles/circle_tower/0.png | Bin 0 -> 18262 bytes public/assets/projectiles/circle_tower/1.png | Bin 0 -> 18454 bytes public/assets/projectiles/circle_tower/2.png | Bin 0 -> 18390 bytes public/assets/projectiles/circle_tower/3.png | Bin 0 -> 18262 bytes public/assets/towers/circle_tower.png | Bin 0 -> 7248 bytes src/classes/Assets.ts | 11 ++---- src/classes/game/Grid.ts | 18 ++++++---- src/classes/game/Projectile.ts | 2 +- src/classes/game/Tower.ts | 12 ++----- src/classes/game/TowerManager.ts | 24 +++---------- src/classes/gui/TowerTab.ts | 35 ++++++++++++++++--- 12 files changed, 69 insertions(+), 49 deletions(-) create mode 100644 public/assets/projectiles/circle_tower/0.png create mode 100644 public/assets/projectiles/circle_tower/1.png create mode 100644 public/assets/projectiles/circle_tower/2.png create mode 100644 public/assets/projectiles/circle_tower/3.png create mode 100644 public/assets/towers/circle_tower.png diff --git a/public/assets/json/Towers.json b/public/assets/json/Towers.json index f60e715..1a609f7 100644 --- a/public/assets/json/Towers.json +++ b/public/assets/json/Towers.json @@ -14,5 +14,21 @@ "cost": 100, "range": 3 } + }, + { + "name": "Circle Tower", + "behaviour": "BasicTowerBehaviour", + "sprite": "circle_tower", + "texture": null, + "projectileTextures": [], + "projectileTexturesArrayLength": 4, + "description": "If you feel a little circular.", + "stats": { + "damage": 6, + "cooldown": 180, + "gemSlotsAmount": 3, + "cost": 125, + "range": 3 + } } ] diff --git a/public/assets/projectiles/circle_tower/0.png b/public/assets/projectiles/circle_tower/0.png new file mode 100644 index 0000000000000000000000000000000000000000..204ab77f4913e6f426cd0d0436fcb5712dbeeee8 GIT binary patch literal 18262 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 JPDHLkV1h4O=XC%8 literal 0 HcmV?d00001 diff --git a/public/assets/projectiles/circle_tower/2.png b/public/assets/projectiles/circle_tower/2.png new file mode 100644 index 0000000000000000000000000000000000000000..8172999c98c6fe45663396fabc87f7757b038e50 GIT binary patch literal 18390 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 literal 0 HcmV?d00001 diff --git a/public/assets/projectiles/circle_tower/3.png b/public/assets/projectiles/circle_tower/3.png new file mode 100644 index 0000000000000000000000000000000000000000..204ab77f4913e6f426cd0d0436fcb5712dbeeee8 GIT binary patch literal 18262 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 (this.PauseIconTexture = texture)), this.Load('/assets/gui/icons/exclamation.png').then((texture) => (this.ExclamationIconTexture = texture)), this.Load('/assets/gui/icons/home.png').then((texture) => (this.HomeIconTexture = texture)), + this.Load('/assets/gui/icons/hammer.png').then((texture) => (this.HammerIconTexture = texture)), this.LoadMissions(), this.LoadTowers(), this.LoadCreeps(), @@ -120,21 +121,13 @@ export default class GameAssets { const res = await fetch('/assets/json/Towers.json'); const towers = await res.json(); this.Towers = towers; - console.log(this.Towers); for (let idx = 0; idx < this.Towers.length; idx++) { const tower = this.Towers[idx]; for (let i = 0; i < tower.projectileTexturesArrayLength; i++) { const texture = await this.Load(`/assets/projectiles/${tower.sprite}/${i}.png`); tower.projectileTextures[i] = texture; - console.log(tower.projectileTextures); } } - towers.forEach(async (tower) => { - let index = this.TowerSprites.length - 1; - if (index == -1) index = 0; - this.TowerSprites[index] = await this.Load(`/assets/towers/${tower.sprite}.png`); - tower.texture = this.TowerSprites[index]; - }); } private static async LoadMission(missionUrl: string) { diff --git a/src/classes/game/Grid.ts b/src/classes/game/Grid.ts index 74aeacd..6029b43 100644 --- a/src/classes/game/Grid.ts +++ b/src/classes/game/Grid.ts @@ -56,9 +56,7 @@ export class Cell extends GameObject { }); Engine.GameScene.events.on(TowerEvents.TowerPlacedEvent, (_, row, col) => { if (row == this.row && col == this.column) { - console.log('SETTING'); - this.setHasTowerPlaced(true); - console.log(this); + this.hasTowerPlaced = true; this.rangePreview.clear(); } }); @@ -68,9 +66,17 @@ export class Cell extends GameObject { } }); } - private setHasTowerPlaced(v) { - console.log(' CALLLEd'); - this.hasTowerPlaced = v; + public showRangePreview(invalid, range) { + let color = 0xffffff; + if (invalid) color = 0xff0000; + this.rangePreview.clear(); + this.rangePreview.circle(Engine.GridCellSize / 2, Engine.GridCellSize / 2, range * Engine.GridCellSize); + this.rangePreview.fill({ color: color, alpha: 0.3 }); + } + public checkIfCantPlace() { + return ( + this.hasTowerPlaced || this.isPath || this.type == TerrainType.Path || this.type == TerrainType.Restricted + ); } public gDraw() { this.g = new PIXI.Graphics({ diff --git a/src/classes/game/Projectile.ts b/src/classes/game/Projectile.ts index e4811ac..b9e6904 100644 --- a/src/classes/game/Projectile.ts +++ b/src/classes/game/Projectile.ts @@ -24,7 +24,7 @@ export default class Projectile extends GameObject { this.y = y; this.damage = damage; this.sprite = new PIXI.AnimatedSprite({ textures: textures, scale: 0.25, rotation: angle }); - this.sprite.anchor.set(0.5); + this.sprite.anchor.set(0.5, 0.5); this.sprite.play(); this.container.x = this.x; this.container.y = this.y; diff --git a/src/classes/game/Tower.ts b/src/classes/game/Tower.ts index 501dc53..9bbd0c3 100644 --- a/src/classes/game/Tower.ts +++ b/src/classes/game/Tower.ts @@ -51,6 +51,7 @@ export class Tower extends GameObject { this.definition = definition; this.ticksUntilNextShot = 0; this.parent = Engine.Grid.getCellByRowAndCol(row, column); + console.log(texture); this.sprite = new PIXI.Sprite({ texture: texture, height: Engine.GridCellSize, @@ -63,25 +64,16 @@ export class Tower extends GameObject { this.parent.clickDetector.on('pointerenter', this.onParentCellEnter); this.parent.clickDetector.on('pointerleave', this.onParentCellLeave); Engine.GameMaster.currentScene.stage.addChild(this.graphics); - //this.showRangeDisplay(); } private onParentCellEnter = (e) => { - this.showRangeDisplay(); + if (!Engine.TowerManager.isPlacingTower) this.parent.showRangePreview(false, this.definition.stats.range); }; private onParentCellLeave = (e) => { this.graphics.clear(); }; - public showRangeDisplay() { - this.graphics.circle( - this.column * Engine.GridCellSize + Engine.GridCellSize / 2, - this.row * Engine.GridCellSize + Engine.GridCellSize / 2, - this.definition.stats.range * Engine.GridCellSize - ); - this.graphics.fill({ color: 0xffffff, alpha: 0.5 }); - } public GetCreepsInRange() { let creeps = Engine.Grid.creeps; return creeps.filter((creep) => { diff --git a/src/classes/game/TowerManager.ts b/src/classes/game/TowerManager.ts index 7b0d497..606dc55 100644 --- a/src/classes/game/TowerManager.ts +++ b/src/classes/game/TowerManager.ts @@ -24,24 +24,14 @@ export default class TowerManager { constructor() { Engine.TowerManager = this; Engine.GameScene.events.on(GridEvents.CellMouseOver, (cell: Cell) => { - //console.log(`${cell.column}x${cell.row}, ${cell.type}, ${this.isPlacingTower}`); if (this.isPlacingTower) { - let cantPlace = - this.GetTowerByRowAndCol(cell.row, cell.column) || - cell.hasTowerPlaced || - cell.isPath || - cell.type == TerrainType.Path || - cell.type == TerrainType.Restricted; - cell.rangePreview.circle( - Engine.GridCellSize / 2, - Engine.GridCellSize / 2, - this.selectedTower.stats.range * Engine.GridCellSize - ); + let cantPlace = cell.checkIfCantPlace(); if (cantPlace) { - cell.rangePreview.fill({ color: 0xff0000, alpha: 0.4 }); + cell.rangePreview.clear(); + cell.showRangePreview(true, this.selectedTower.stats.range); this.previewSprite.tint = 0xff0000; } else { - cell.rangePreview.fill({ color: 0xffffff, alpha: 0.4 }); + cell.showRangePreview(false, this.selectedTower.stats.range); this.previewSprite.tint = 0xffffff; } this.previewSprite.x = cell.column * Engine.GridCellSize; @@ -89,11 +79,7 @@ export default class TowerManager { return returnTower; } public PlaceTower(definition: TowerDefinition, row, column, behaviour: string, ignoreCost?) { - let idx = 0; - GameAssets.Towers.forEach((item, index) => { - if (item.sprite == definition.sprite) idx = index; - }); - const sprite = GameAssets.TowerSprites[idx]; + const sprite = this.selectedTower.texture; if (!Engine.GameScene.MissionStats.hasEnoughGold(definition.stats.cost) && !ignoreCost) return Engine.NotificationManager.Notify('Not enough gold.', 'warn'); if ( diff --git a/src/classes/gui/TowerTab.ts b/src/classes/gui/TowerTab.ts index 41773e3..4380989 100644 --- a/src/classes/gui/TowerTab.ts +++ b/src/classes/gui/TowerTab.ts @@ -8,8 +8,9 @@ class TowerButton extends GuiObject { private frameSprite: PIXI.NineSliceSprite; private background: PIXI.Sprite; private towerName: string; + private iconSprite: PIXI.Sprite; private i: number = 0; - constructor(index: number, row, width, height, parent: PIXI.Container, backgroundTexture, towerName) { + constructor(index: number, row, width, height, parent: PIXI.Container, backgroundTexture, towerName, iconTexture) { if (index > 3 || row > 2 || index < 0 || row < 0) throw 'Index/row out of bounds for TowerButton.'; super(true); this.towerName = towerName; @@ -18,10 +19,18 @@ class TowerButton extends GuiObject { this.background = new PIXI.Sprite({ texture: backgroundTexture, }); + this.iconSprite = new PIXI.Sprite({ + texture: iconTexture, + }); this.background.width = width; this.background.height = height; + this.iconSprite.x = width / 2; + this.iconSprite.y = height / 2; + this.iconSprite.width = width / 2; + this.iconSprite.height = height / 2; + this.iconSprite.anchor.set(0.5, 0.5); this.container.addChild(this.background); - + this.container.addChild(this.iconSprite); this.frameSprite = new PIXI.NineSliceSprite({ texture: GameAssets.Frame02Texture, leftWidth: 100, @@ -76,7 +85,25 @@ export default class TowerTab extends GuiObject { this.towerTabSprite.height = this.bounds.height; this.container.addChild(this.towerTabSprite); - new TowerButton(0, 0, 70, 70, this.container, GameAssets.RedBackground, 'Basic Tower'); - new TowerButton(0, 1, 70, 70, this.container, GameAssets.GreenBackground, 'Basic Tower'); + new TowerButton( + 0, + 0, + 70, + 70, + this.container, + GameAssets.RedBackground, + 'Basic Tower', + GameAssets.HammerIconTexture + ); + new TowerButton( + 0, + 1, + 70, + 70, + this.container, + GameAssets.GreenBackground, + 'Circle Tower', + GameAssets.HomeIconTexture + ); } }