Change host, make problem stack not editable
This commit is contained in:
parent
fb6a1a0dc9
commit
a66f6258d5
5 changed files with 49 additions and 50 deletions
|
@ -42,42 +42,50 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.30889, 0, 3.52858 )
|
||||||
title = "Deck"
|
title = "Deck"
|
||||||
zoneName = "player1.deck"
|
zoneName = "player1.deck"
|
||||||
faceDown = true
|
faceDown = true
|
||||||
|
editable = true
|
||||||
|
|
||||||
[node name="P1Graveyard" parent="Cards" instance=ExtResource( 5 )]
|
[node name="P1Graveyard" parent="Cards" instance=ExtResource( 5 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.23371, 0, 3.52858 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.23371, 0, 3.52858 )
|
||||||
title = "Discard pile"
|
title = "Discard pile"
|
||||||
zoneName = "player1.graveyard"
|
zoneName = "player1.graveyard"
|
||||||
|
editable = true
|
||||||
|
|
||||||
[node name="P1Banished" parent="Cards" instance=ExtResource( 5 )]
|
[node name="P1Banished" parent="Cards" instance=ExtResource( 5 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.23371, 0, 2.40401 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -5.23371, 0, 2.40401 )
|
||||||
title = "Banished"
|
title = "Banished"
|
||||||
zoneName = "player1.banished"
|
zoneName = "player1.banished"
|
||||||
|
editable = true
|
||||||
|
|
||||||
[node name="P2Deck" parent="Cards" instance=ExtResource( 5 )]
|
[node name="P2Deck" parent="Cards" instance=ExtResource( 5 )]
|
||||||
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 4.309, 0, -3.529 )
|
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 4.309, 0, -3.529 )
|
||||||
title = "Deck"
|
title = "Deck"
|
||||||
zoneName = "player2.deck"
|
zoneName = "player2.deck"
|
||||||
faceDown = true
|
faceDown = true
|
||||||
|
editable = true
|
||||||
|
|
||||||
[node name="P2Graveyard" parent="Cards" instance=ExtResource( 5 )]
|
[node name="P2Graveyard" parent="Cards" instance=ExtResource( 5 )]
|
||||||
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 5.234, 0, -3.529 )
|
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 5.234, 0, -3.529 )
|
||||||
title = "Discard pile"
|
title = "Discard pile"
|
||||||
zoneName = "player2.graveyard"
|
zoneName = "player2.graveyard"
|
||||||
|
editable = true
|
||||||
|
|
||||||
[node name="P2Banished" parent="Cards" instance=ExtResource( 5 )]
|
[node name="P2Banished" parent="Cards" instance=ExtResource( 5 )]
|
||||||
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 5.234, 0, -2.404 )
|
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 5.234, 0, -2.404 )
|
||||||
title = "Banished"
|
title = "Banished"
|
||||||
zoneName = "player2.banished"
|
zoneName = "player2.banished"
|
||||||
|
editable = true
|
||||||
|
|
||||||
[node name="P1Problem" parent="Cards" instance=ExtResource( 5 )]
|
[node name="P1Problem" parent="Cards" instance=ExtResource( 5 )]
|
||||||
transform = Transform( -6.55671e-008, 0, -1.5, 0, 1, 0, 1.5, 0, -6.55671e-008, 2.5, 0, 0 )
|
transform = Transform( -6.55671e-008, 0, -1.5, 0, 1, 0, 1.5, 0, -6.55671e-008, 2.5, 0, 0 )
|
||||||
title = "Problem"
|
title = "Problem"
|
||||||
zoneName = "player1.problem"
|
zoneName = "player1.problem"
|
||||||
|
offset = -0.01
|
||||||
|
|
||||||
[node name="P2Problem" parent="Cards" instance=ExtResource( 5 )]
|
[node name="P2Problem" parent="Cards" instance=ExtResource( 5 )]
|
||||||
transform = Transform( -6.55671e-008, 0, 1.5, 0, 1, 0, -1.5, 0, -6.55671e-008, -2.5, 0, 0 )
|
transform = Transform( -6.55671e-008, 0, 1.5, 0, 1, 0, -1.5, 0, -6.55671e-008, -2.5, 0, 0 )
|
||||||
title = "Problem"
|
title = "Problem"
|
||||||
zoneName = "player2.problem"
|
zoneName = "player2.problem"
|
||||||
|
offset = -0.01
|
||||||
[connection signal="card_picked" from="Cards/P1Deck" to="." method="_card_picked_zone" binds= [ "player1.deck" ]]
|
[connection signal="card_picked" from="Cards/P1Deck" to="." method="_card_picked_zone" binds= [ "player1.deck" ]]
|
||||||
[connection signal="card_picked" from="Cards/P1Graveyard" to="." method="_card_picked_zone" binds= [ "player1.graveyard" ]]
|
[connection signal="card_picked" from="Cards/P1Graveyard" to="." method="_card_picked_zone" binds= [ "player1.graveyard" ]]
|
||||||
[connection signal="card_picked" from="Cards/P1Banished" to="." method="_card_picked_zone" binds= [ "player1.banished" ]]
|
[connection signal="card_picked" from="Cards/P1Banished" to="." method="_card_picked_zone" binds= [ "player1.banished" ]]
|
||||||
|
|
|
@ -51,6 +51,12 @@ func _input_event(camera, event, click_position, click_normal, shape_idx):
|
||||||
lifted = true
|
lifted = true
|
||||||
var origin: Vector3 = camera.project_ray_origin(event.position)
|
var origin: Vector3 = camera.project_ray_origin(event.position)
|
||||||
var direction: Vector3 = camera.project_ray_normal(event.position)
|
var direction: Vector3 = camera.project_ray_normal(event.position)
|
||||||
|
if flipped:
|
||||||
|
$CardModel/Border.translation = Vector3(0, 0.01, 0)
|
||||||
|
$CardModel/Border.rotation = Vector3(0, 0, PI)
|
||||||
|
else:
|
||||||
|
$CardModel/Border.translation = Vector3.ZERO
|
||||||
|
$CardModel/Border.rotation = Vector3.ZERO
|
||||||
if inHand:
|
if inHand:
|
||||||
translation = Vector3(direction.x * 3.0, 0.25, -0.25)
|
translation = Vector3(direction.x * 3.0, 0.25, -0.25)
|
||||||
# Fix rotation if coming from hand
|
# Fix rotation if coming from hand
|
||||||
|
@ -58,12 +64,6 @@ func _input_event(camera, event, click_position, click_normal, shape_idx):
|
||||||
elif inZone:
|
elif inZone:
|
||||||
translation = Vector3.ZERO
|
translation = Vector3.ZERO
|
||||||
rotation = Vector3.ZERO
|
rotation = Vector3.ZERO
|
||||||
if flipped:
|
|
||||||
$CardModel/Border.translation = Vector3(0, 0.01, 0)
|
|
||||||
$CardModel/Border.rotation = Vector3(0, 0, PI)
|
|
||||||
else:
|
|
||||||
$CardModel/Border.translation = Vector3.ZERO
|
|
||||||
$CardModel/Border.rotation = Vector3.ZERO
|
|
||||||
else:
|
else:
|
||||||
var denom := Vector3.UP.dot(direction)
|
var denom := Vector3.UP.dot(direction)
|
||||||
var t: float = (-camera.transform.origin).dot(Vector3.UP) / denom;
|
var t: float = (-camera.transform.origin).dot(Vector3.UP) / denom;
|
||||||
|
@ -98,16 +98,6 @@ func _input_event(camera, event, click_position, click_normal, shape_idx):
|
||||||
animation.queue("tap")
|
animation.queue("tap")
|
||||||
exhausted = true
|
exhausted = true
|
||||||
|
|
||||||
func clickable() -> bool:
|
|
||||||
#TODO Better control over if a card can be taken or not
|
|
||||||
if playerID == 0:
|
|
||||||
return true
|
|
||||||
return false
|
|
||||||
|
|
||||||
func reset_transform():
|
|
||||||
$CardModel.translation = Vector3.ZERO
|
|
||||||
$CardModel.rotation = Vector3.ZERO
|
|
||||||
|
|
||||||
func _menu_action(id: int):
|
func _menu_action(id: int):
|
||||||
match id:
|
match id:
|
||||||
0: # Flip
|
0: # Flip
|
||||||
|
@ -122,6 +112,25 @@ func _check_drop_anim(anim_name):
|
||||||
if anim_name == "drop":
|
if anim_name == "drop":
|
||||||
emit_signal("card_dropped_anim")
|
emit_signal("card_dropped_anim")
|
||||||
|
|
||||||
|
# warning-ignore:unused_argument
|
||||||
|
func _card_fetched(result: int, response_code: int, headers: PoolStringArray, body: PoolByteArray):
|
||||||
|
assert(result == HTTPRequest.RESULT_SUCCESS)
|
||||||
|
var img = Image.new()
|
||||||
|
var err = img.load_jpg_from_buffer(body)
|
||||||
|
assert(err == OK)
|
||||||
|
# Depending if card pic is a problem or not, rotate the card image mesh
|
||||||
|
if img.get_width() > img.get_height():
|
||||||
|
cardImage.scale = Vector3(0.45,1,0.319)
|
||||||
|
cardImage.rotation.y = PI/2
|
||||||
|
else:
|
||||||
|
cardImage.scale = Vector3(0.319,1,0.45)
|
||||||
|
cardImage.rotation.y = 0
|
||||||
|
var mat = cardMat.duplicate()
|
||||||
|
texture = ImageTexture.new()
|
||||||
|
texture.create_from_image(img)
|
||||||
|
mat.albedo_texture = texture
|
||||||
|
cardImage.set_surface_material(0, mat)
|
||||||
|
|
||||||
func tween_move_to(targetPos: Vector3, duration: float = 0.1):
|
func tween_move_to(targetPos: Vector3, duration: float = 0.1):
|
||||||
$Tween.interpolate_property(self, "translation",
|
$Tween.interpolate_property(self, "translation",
|
||||||
translation, targetPos, duration,
|
translation, targetPos, duration,
|
||||||
|
@ -141,21 +150,12 @@ func disableInput():
|
||||||
func enableInput():
|
func enableInput():
|
||||||
$CollisionShape.disabled = false
|
$CollisionShape.disabled = false
|
||||||
|
|
||||||
# warning-ignore:unused_argument
|
func clickable() -> bool:
|
||||||
func _card_fetched(result: int, response_code: int, headers: PoolStringArray, body: PoolByteArray):
|
#TODO Better control over if a card can be taken or not
|
||||||
assert(result == HTTPRequest.RESULT_SUCCESS)
|
if playerID == 0:
|
||||||
var img = Image.new()
|
return true
|
||||||
var err = img.load_jpg_from_buffer(body)
|
return false
|
||||||
assert(err == OK)
|
|
||||||
# Depending if card pic is a problem or not, rotate the card image mesh
|
func reset_transform():
|
||||||
if img.get_width() > img.get_height():
|
$CardModel.translation = Vector3.ZERO
|
||||||
cardImage.scale = Vector3(0.45,1,0.319)
|
$CardModel.rotation = Vector3.ZERO
|
||||||
cardImage.rotation.y = PI/2
|
|
||||||
else:
|
|
||||||
cardImage.scale = Vector3(0.319,1,0.45)
|
|
||||||
cardImage.rotation.y = 0
|
|
||||||
var mat = cardMat.duplicate()
|
|
||||||
texture = ImageTexture.new()
|
|
||||||
texture.create_from_image(img)
|
|
||||||
mat.albedo_texture = texture
|
|
||||||
cardImage.set_surface_material(0, mat)
|
|
|
@ -9,6 +9,8 @@ signal card_picked(card)
|
||||||
export var title: String
|
export var title: String
|
||||||
export var zoneName: String
|
export var zoneName: String
|
||||||
export var faceDown: bool
|
export var faceDown: bool
|
||||||
|
export var editable: bool
|
||||||
|
export var offset: float
|
||||||
|
|
||||||
var clicked: bool = false
|
var clicked: bool = false
|
||||||
var cards: Array = []
|
var cards: Array = []
|
||||||
|
@ -47,5 +49,5 @@ func reorder_cards():
|
||||||
var i := 0
|
var i := 0
|
||||||
var count := cards.size()
|
var count := cards.size()
|
||||||
for card in cards:
|
for card in cards:
|
||||||
card.translation.y = (count-i)*CARD_DISTANCE
|
card.translation.y = offset+(count-i)*CARD_DISTANCE
|
||||||
i += 1
|
i += 1
|
|
@ -1,6 +1,6 @@
|
||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
const HOST = "https://mlpccg.zyg.ovh/"
|
const HOST = "https://mcg.zyg.ovh/"
|
||||||
const IMGURL = HOST + "images/cards/"
|
const IMGURL = HOST + "images/cards/"
|
||||||
|
|
||||||
func res_file_name(url: String) -> String:
|
func res_file_name(url: String) -> String:
|
||||||
|
|
|
@ -31,18 +31,7 @@ onready var zones: Dictionary = {
|
||||||
}
|
}
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
add_card("pr10", 0, false)
|
add_card("pr12", 0, false)
|
||||||
add_card("ff33", 0, true)
|
|
||||||
add_card("ff100", 0, true)
|
|
||||||
add_card("ff44", 0, true)
|
|
||||||
add_card("eo11", 0, true)
|
|
||||||
add_card("pr168", 0, true)
|
|
||||||
add_card("ad176", 0, true)
|
|
||||||
|
|
||||||
add_card("ff33", 1, true)
|
|
||||||
add_card("ff33", 1, true)
|
|
||||||
add_card("ff33", 1, true)
|
|
||||||
add_card("ff33", 1, true)
|
|
||||||
reorder_hand(0)
|
reorder_hand(0)
|
||||||
reorder_hand(1)
|
reorder_hand(1)
|
||||||
|
|
||||||
|
@ -113,7 +102,7 @@ func _physics_process(delta):
|
||||||
var to: Vector3 = from + camera.project_ray_normal(absMousePos) * 1000
|
var to: Vector3 = from + camera.project_ray_normal(absMousePos) * 1000
|
||||||
var result := space_state.intersect_ray(from, to, [self, holdingCard], 0x7FFFFFFF, true, true)
|
var result := space_state.intersect_ray(from, to, [self, holdingCard], 0x7FFFFFFF, true, true)
|
||||||
if result:
|
if result:
|
||||||
if result.collider is Stack:
|
if result.collider is Stack and result.collider.editable:
|
||||||
currentZone = result.collider
|
currentZone = result.collider
|
||||||
else:
|
else:
|
||||||
currentZone = null
|
currentZone = null
|
||||||
|
|
Loading…
Reference in a new issue