mirror of
https://github.com/solcloud/Counter-Strike.git
synced 2025-02-22 19:02:27 +01:00
Guns For Hands
yeah
This commit is contained in:
parent
3ef12f4efb
commit
348dbd156c
@ -161,6 +161,7 @@ const ItemId = {
|
||||
Molotov: 35,
|
||||
Smoke: 36,
|
||||
Bomb: 50,
|
||||
DefuseKit: 51,
|
||||
}
|
||||
|
||||
const ItemIdToName = {
|
||||
|
@ -326,8 +326,8 @@ export class Game {
|
||||
model = this.#world.getModelForItem(item)
|
||||
povItems.add(model)
|
||||
}
|
||||
model.position.set(0, 0, 0)
|
||||
model.rotation.set(0, 0, 0)
|
||||
model.children.forEach((root) => root.visible = false)
|
||||
model.getObjectByName('pov').visible = true
|
||||
model.visible = true
|
||||
|
||||
this.#hud.equip(slotId, this.playerSpectate.data.slots)
|
||||
@ -422,18 +422,17 @@ export class Game {
|
||||
itemModel = world.getModelForItem(item)
|
||||
beltSlot.add(itemModel)
|
||||
}
|
||||
|
||||
itemModel.position.set(0, 0, 0)
|
||||
itemModel.rotation.set(0, 0, 0)
|
||||
itemModel.children.forEach((root) => root.visible = false)
|
||||
itemModel.getObjectByName('item').visible = true
|
||||
itemModel.visible = true
|
||||
})
|
||||
|
||||
const modelInHand = belt.getObjectByName(`slot-${data.item.slot}`).getObjectByName(`item-${data.item.id}`)
|
||||
hand.add(modelInHand)
|
||||
modelInHand.position.set(0, 0, 0)
|
||||
modelInHand.rotation.set(0, 0, 0)
|
||||
modelInHand.visible = true
|
||||
modelInHand.userData.slot = data.item.slot
|
||||
modelInHand.children.forEach((root) => root.visible = false)
|
||||
modelInHand.getObjectByName('item').visible = true
|
||||
modelInHand.visible = true
|
||||
}
|
||||
|
||||
getMyTeamPlayers() {
|
||||
|
@ -65,7 +65,11 @@ export class ModelRepository {
|
||||
}
|
||||
|
||||
getBomb() {
|
||||
return this.#models[ItemId.Bomb]
|
||||
const bomb = this.#models[ItemId.Bomb]
|
||||
bomb.children.forEach((root) => root.visible = false)
|
||||
bomb.getObjectByName('item').visible = true
|
||||
bomb.position.setScalar(0)
|
||||
return bomb
|
||||
}
|
||||
|
||||
getPlayer(colorIndex, isOpponent) {
|
||||
@ -118,59 +122,87 @@ export class ModelRepository {
|
||||
}
|
||||
})
|
||||
|
||||
// fixme inside model
|
||||
const kitSlot = model.scene.getObjectByName('slot-11')
|
||||
kitSlot.position.y -= 11
|
||||
const knifeSlot = model.scene.getObjectByName('slot-0')
|
||||
knifeSlot.position.y += 5.7
|
||||
knifeSlot.position.x += 3.8
|
||||
knifeSlot.position.z += -3.5
|
||||
knifeSlot.rotateY(degreeToRadian(-70))
|
||||
knifeSlot.rotateX(degreeToRadian(-4))
|
||||
|
||||
this.#models.player = model.scene.getObjectByName('player')
|
||||
this.#models.playerAnimation = model.animations
|
||||
}))
|
||||
promises.push(this.#loadModel('./resources/model/bomb.glb').then((model) => {
|
||||
model.scene.scale.set(.3, .3, .3)
|
||||
model.scene.traverse(function (object) {
|
||||
model.scene.children.forEach((root) => root.visible = false)
|
||||
const item = model.scene.getObjectByName('item')
|
||||
item.traverse(function (object) {
|
||||
if (object.isMesh) {
|
||||
object.castShadow = true
|
||||
object.receiveShadow = true
|
||||
}
|
||||
})
|
||||
item.visible = true
|
||||
|
||||
this.#models[ItemId.Bomb] = model.scene
|
||||
}))
|
||||
promises.push(this.#loadModel('./resources/model/knife.glb').then((model) => {
|
||||
model.scene.scale.set(-500, 500, 500)
|
||||
promises.push(this.#loadModel('./resources/model/kit.glb').then((model) => {
|
||||
model.scene.traverse(function (object) {
|
||||
if (object.isMesh) {
|
||||
object.castShadow = true
|
||||
}
|
||||
})
|
||||
|
||||
this.#models[ItemId.DefuseKit] = model.scene
|
||||
}))
|
||||
promises.push(this.#loadModel('./resources/model/knife.glb').then((model) => {
|
||||
model.scene.children.forEach((root) => root.visible = false)
|
||||
const item = model.scene.getObjectByName('item')
|
||||
item.traverse(function (object) {
|
||||
if (object.isMesh) {
|
||||
object.castShadow = true
|
||||
}
|
||||
})
|
||||
item.visible = true
|
||||
|
||||
this.#models[ItemId.Knife] = model.scene
|
||||
}))
|
||||
promises.push(this.#loadModel('./resources/model/pistol.glb').then((model) => {
|
||||
model.scene.scale.set(15, 15, 15)
|
||||
model.scene.traverse(function (object) {
|
||||
model.scene.children.forEach((root) => root.visible = false)
|
||||
const item = model.scene.getObjectByName('item')
|
||||
item.traverse(function (object) {
|
||||
if (object.isMesh) {
|
||||
object.castShadow = true
|
||||
}
|
||||
})
|
||||
item.visible = true
|
||||
|
||||
this.#models[ItemId.PistolUsp] = model.scene
|
||||
this.#models[ItemId.PistolP250] = model.scene // fixme
|
||||
this.#models[ItemId.PistolGlock] = model.scene // fixme
|
||||
}))
|
||||
promises.push(this.#loadModel('./resources/model/ak.glb').then((model) => {
|
||||
model.scene.scale.set(15, 15, 15)
|
||||
model.scene.traverse(function (object) {
|
||||
model.scene.children.forEach((root) => root.visible = false)
|
||||
const item = model.scene.getObjectByName('item')
|
||||
item.traverse(function (object) {
|
||||
if (object.isMesh) {
|
||||
object.castShadow = true
|
||||
}
|
||||
})
|
||||
item.visible = true
|
||||
|
||||
this.#models[ItemId.RifleAk] = model.scene
|
||||
}))
|
||||
promises.push(this.#loadModel('./resources/model/m4.glb').then((model) => {
|
||||
model.scene.scale.set(10, 10, 10)
|
||||
model.scene.traverse(function (object) {
|
||||
model.scene.children.forEach((root) => root.visible = false)
|
||||
const item = model.scene.getObjectByName('item')
|
||||
item.traverse(function (object) {
|
||||
if (object.isMesh) {
|
||||
object.castShadow = true
|
||||
}
|
||||
})
|
||||
item.visible = true
|
||||
|
||||
this.#models[ItemId.RifleM4A4] = model.scene
|
||||
}))
|
||||
|
@ -34,11 +34,8 @@ export class World {
|
||||
const povItem = new THREE.Group()
|
||||
povItem.name = 'pov-item'
|
||||
povItem.scale.setScalar(.7)
|
||||
povItem.position.x = 4
|
||||
povItem.position.z = -28
|
||||
povItem.position.z = -12
|
||||
povItem.position.y = -14
|
||||
povItem.rotateX(degreeToRadian(88))
|
||||
povItem.rotateZ(degreeToRadian(-100))
|
||||
camera.add(listener, povItem)
|
||||
this.#soundListener = listener
|
||||
|
||||
|
@ -17,6 +17,9 @@ by **Quaternius** from https://www.patreon.com/quaternius downloaded from https:
|
||||
#### player.glb (CC4)
|
||||
by **ReadyPlayerMe** (1617641541-outfit-m-military) from https://readyplayer.me/
|
||||
|
||||
#### kit.glb (Public Domain)
|
||||
by friend **šimon**
|
||||
|
||||
#### bomb.glb (Public Domain)
|
||||
by **solcloud**
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
BIN
www/resources/model/kit.glb
Normal file
BIN
www/resources/model/kit.glb
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user