Compare commits
6 commits
ef6aebf597
...
aca5b1c72f
Author | SHA1 | Date | |
---|---|---|---|
aca5b1c72f | |||
6eea894b85 | |||
c95645c6e2 | |||
aed1a0b69f | |||
336ae08cd0 | |||
d249fa29bb |
12 changed files with 319 additions and 15 deletions
BIN
AssetSrc/phase-icons.afdesign
Normal file
BIN
AssetSrc/phase-icons.afdesign
Normal file
Binary file not shown.
|
@ -26,7 +26,7 @@ script = ExtResource( 2 )
|
|||
transform = Transform( 0.4, 0, 0, 0, 2.98023e-008, -0.4, 0, 0.4, 2.98023e-008, 0, -0.6, -1.3 )
|
||||
|
||||
[node name="OppHand" type="Spatial" parent="Camera"]
|
||||
transform = Transform( 0.3, 0, 0, 0, -1.31134e-008, 0.3, 0, -0.3, -1.31134e-008, -2.48878e-016, 0.629771, -1.3 )
|
||||
transform = Transform( 0.3, 0, 0, 0, -1.49012e-008, 0.3, 0, -0.3, -1.49012e-008, 0, 0.63, -1.3 )
|
||||
|
||||
[node name="MeshInstance" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.001, 0 )
|
||||
|
@ -38,39 +38,39 @@ material/0 = null
|
|||
[node name="Cards" type="Spatial" parent="."]
|
||||
|
||||
[node name="P1Deck" parent="Cards" instance=ExtResource( 5 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.30889, 0, 3.52858 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -4.309, 0, 2.529 )
|
||||
title = "Deck"
|
||||
zoneName = "player1.deck"
|
||||
faceDown = true
|
||||
editable = true
|
||||
|
||||
[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.234, 0, 2.529 )
|
||||
title = "Discard pile"
|
||||
zoneName = "player1.graveyard"
|
||||
editable = true
|
||||
|
||||
[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.234, 0, 1.404 )
|
||||
title = "Banished"
|
||||
zoneName = "player1.banished"
|
||||
editable = true
|
||||
|
||||
[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, -2.529 )
|
||||
title = "Deck"
|
||||
zoneName = "player2.deck"
|
||||
faceDown = true
|
||||
editable = true
|
||||
|
||||
[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, -2.529 )
|
||||
title = "Discard pile"
|
||||
zoneName = "player2.graveyard"
|
||||
editable = true
|
||||
|
||||
[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, -1.404 )
|
||||
title = "Banished"
|
||||
zoneName = "player2.banished"
|
||||
editable = true
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://Scenes/Scripts/BoardUI.gd" type="Script" id=1]
|
||||
[ext_resource path="res://MLPAssets/Placeholders/unknowncard.jpg" type="Texture" id=2]
|
||||
[ext_resource path="res://Scenes/UI/PhaseIcon.tscn" type="PackedScene" id=3]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
resource_name = "fade ui card"
|
||||
|
@ -41,7 +42,19 @@ tracks/2/keys = {
|
|||
"times": PoolRealArray( 0, 0.1 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0, 40.0 ]
|
||||
"values": [ 20, 60 ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("CardZoom:rect_size")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0, 0.1 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 344, 500 ), Vector2( 344, 500 ) ]
|
||||
}
|
||||
|
||||
[node name="BoardUI" type="Control"]
|
||||
|
@ -50,16 +63,40 @@ anchor_bottom = 1.0
|
|||
mouse_filter = 2
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Panel" type="Panel" parent="."]
|
||||
anchor_right = 1.0
|
||||
margin_bottom = 40.0
|
||||
|
||||
[node name="CardZoom" type="TextureRect" parent="."]
|
||||
visible = false
|
||||
modulate = Color( 1, 1, 1, 0 )
|
||||
anchor_bottom = 1.0
|
||||
margin_left = 40.0
|
||||
margin_top = 20.0
|
||||
margin_right = 384.0
|
||||
margin_bottom = 520.0
|
||||
margin_bottom = -280.0
|
||||
rect_scale = Vector2( 0.8, 0.8 )
|
||||
mouse_filter = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
texture = ExtResource( 2 )
|
||||
expand = true
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
"anims/fade ui card" = SubResource( 1 )
|
||||
|
||||
[node name="ReadyPhase" parent="." instance=ExtResource( 3 )]
|
||||
position = Vector2( 565, 40 )
|
||||
|
||||
[node name="TroublePhase" parent="." instance=ExtResource( 3 )]
|
||||
position = Vector2( 615, 40 )
|
||||
phaseID = 1
|
||||
|
||||
[node name="MainPhase" parent="." instance=ExtResource( 3 )]
|
||||
position = Vector2( 665, 40 )
|
||||
phaseID = 2
|
||||
|
||||
[node name="ScorePhase" parent="." instance=ExtResource( 3 )]
|
||||
position = Vector2( 715, 40 )
|
||||
phaseID = 3
|
||||
|
|
|
@ -32,10 +32,10 @@ onready var texture: Texture = cardImage.get_surface_material(0)
|
|||
func set_cardid(val: String):
|
||||
cardID = val
|
||||
if ready:
|
||||
Remote.fetch(Remote.IMGURL + val + ".jpg", self, "_card_fetched")
|
||||
Remote.fetch(Remote.IMGURL + val + ".webp", self, "_card_fetched")
|
||||
|
||||
func _ready():
|
||||
Remote.fetch(Remote.IMGURL + cardID + ".jpg", self, "_card_fetched")
|
||||
Remote.fetch(Remote.IMGURL + cardID + ".webp", self, "_card_fetched")
|
||||
ready = true
|
||||
|
||||
func _mouse_hover():
|
||||
|
@ -85,7 +85,7 @@ func _check_drop_anim(anim_name):
|
|||
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)
|
||||
var err = img.load_webp_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():
|
||||
|
|
|
@ -18,6 +18,9 @@ func fetch(url: String, cbObj: Object, cbFn: String):
|
|||
cbObj.call(cbFn, HTTPRequest.RESULT_SUCCESS, 200, [], buf)
|
||||
return
|
||||
var req := HTTPRequest.new()
|
||||
# On HTML5 we cannot use threaded requests
|
||||
# On other platforms (such as Android), we *need* to!
|
||||
req.use_threads = !OS.has_feature("HTML5")
|
||||
add_child(req)
|
||||
req.connect("request_completed", self, "_request_completed", [url, cbObj, cbFn])
|
||||
req.request(url)
|
||||
|
|
|
@ -46,6 +46,9 @@ func _ready():
|
|||
#TODO Draw cards from deck
|
||||
for i in range(0,6):
|
||||
draw_card(0, "player1.deck")
|
||||
|
||||
for i in range(0,6):
|
||||
draw_card(1, "player1.deck")
|
||||
|
||||
func _input(event: InputEvent):
|
||||
# Camera zoom
|
||||
|
@ -190,7 +193,10 @@ func reparent(object: Node, from: Node, to: Node):
|
|||
from.remove_child(object)
|
||||
to.add_child(object)
|
||||
object.set_owner(to)
|
||||
reorder_hand(0)
|
||||
if to == hand or from == hand:
|
||||
reorder_hand(0)
|
||||
if to == oppHand or from == oppHand:
|
||||
reorder_hand(1)
|
||||
|
||||
func add_card(cardID: String, playerID: int, zone: String):
|
||||
var card := CardTemplate.instance()
|
||||
|
@ -227,7 +233,10 @@ func draw_card(playerID: int, from: String):
|
|||
card.inZone = false
|
||||
card.flipped = false
|
||||
card.animation.queue("flip-back-fast")
|
||||
reparent(card, zones[from], hand)
|
||||
var target := hand
|
||||
if playerID != 0:
|
||||
target = oppHand
|
||||
reparent(card, zones[from], target)
|
||||
|
||||
func check_hand_drop(card: Card):
|
||||
# Re-order hand as soon as the animation is over
|
||||
|
|
8
Scenes/UI/PhaseIcon.gd
Normal file
8
Scenes/UI/PhaseIcon.gd
Normal file
|
@ -0,0 +1,8 @@
|
|||
extends Node2D
|
||||
|
||||
export var phaseID = 0
|
||||
|
||||
const iconSize = 80
|
||||
|
||||
func _ready():
|
||||
$Icon.region_rect.position.x = phaseID * iconSize
|
13
Scenes/UI/PhaseIcon.tscn
Normal file
13
Scenes/UI/PhaseIcon.tscn
Normal file
|
@ -0,0 +1,13 @@
|
|||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://Scenes/UI/PhaseIcon.gd" type="Script" id=1]
|
||||
[ext_resource path="res://UIAssets/GameBar/phase-icons.png" type="Texture" id=2]
|
||||
|
||||
[node name="PhaseIcon" type="Node2D"]
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Icon" type="Sprite" parent="."]
|
||||
scale = Vector2( 0.65, 0.65 )
|
||||
texture = ExtResource( 2 )
|
||||
region_enabled = true
|
||||
region_rect = Rect2( 0, 0, 80, 80 )
|
BIN
UIAssets/GameBar/phase-icons.png
Normal file
BIN
UIAssets/GameBar/phase-icons.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
34
UIAssets/GameBar/phase-icons.png.import
Normal file
34
UIAssets/GameBar/phase-icons.png.import
Normal file
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/phase-icons.png-d392634a9aaae505bec07ec577a1a735.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UIAssets/GameBar/phase-icons.png"
|
||||
dest_files=[ "res://.import/phase-icons.png-d392634a9aaae505bec07ec577a1a735.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=2
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
|
@ -20,3 +20,201 @@ html/custom_html_shell=""
|
|||
html/head_include=""
|
||||
custom_template/release=""
|
||||
custom_template/debug=""
|
||||
|
||||
[preset.1]
|
||||
|
||||
name="Android"
|
||||
platform="Android"
|
||||
runnable=true
|
||||
custom_features=""
|
||||
export_filter="all_resources"
|
||||
include_filter=""
|
||||
exclude_filter=""
|
||||
export_path="B:/OneDrive/Documenti/VC/mlpcardgame-html/index.apk"
|
||||
patch_list=PoolStringArray( )
|
||||
script_export_mode=1
|
||||
script_encryption_key=""
|
||||
|
||||
[preset.1.options]
|
||||
|
||||
graphics/32_bits_framebuffer=true
|
||||
one_click_deploy/clear_previous_install=true
|
||||
custom_package/debug=""
|
||||
custom_package/release=""
|
||||
command_line/extra_args=""
|
||||
version/code=1
|
||||
version/name="1.0"
|
||||
package/unique_name="com.mcg.mlpcardgame"
|
||||
package/name="MLP CARD GAME"
|
||||
package/signed=true
|
||||
screen/immersive_mode=true
|
||||
screen/orientation=0
|
||||
screen/support_small=true
|
||||
screen/support_normal=true
|
||||
screen/support_large=true
|
||||
screen/support_xlarge=true
|
||||
screen/opengl_debug=false
|
||||
launcher_icons/xxxhdpi_192x192=""
|
||||
launcher_icons/xxhdpi_144x144=""
|
||||
launcher_icons/xhdpi_96x96=""
|
||||
launcher_icons/hdpi_72x72=""
|
||||
launcher_icons/mdpi_48x48=""
|
||||
keystore/debug=""
|
||||
keystore/debug_user=""
|
||||
keystore/debug_password=""
|
||||
keystore/release=""
|
||||
keystore/release_user=""
|
||||
keystore/release_password=""
|
||||
apk_expansion/enable=false
|
||||
apk_expansion/SALT=""
|
||||
apk_expansion/public_key=""
|
||||
architectures/armeabi-v7a=true
|
||||
architectures/arm64-v8a=true
|
||||
architectures/x86=false
|
||||
architectures/x86_64=false
|
||||
permissions/custom_permissions=PoolStringArray( )
|
||||
permissions/access_checkin_properties=false
|
||||
permissions/access_coarse_location=false
|
||||
permissions/access_fine_location=false
|
||||
permissions/access_location_extra_commands=false
|
||||
permissions/access_mock_location=false
|
||||
permissions/access_network_state=true
|
||||
permissions/access_surface_flinger=false
|
||||
permissions/access_wifi_state=false
|
||||
permissions/account_manager=false
|
||||
permissions/add_voicemail=false
|
||||
permissions/authenticate_accounts=false
|
||||
permissions/battery_stats=false
|
||||
permissions/bind_accessibility_service=false
|
||||
permissions/bind_appwidget=false
|
||||
permissions/bind_device_admin=false
|
||||
permissions/bind_input_method=false
|
||||
permissions/bind_nfc_service=false
|
||||
permissions/bind_notification_listener_service=false
|
||||
permissions/bind_print_service=false
|
||||
permissions/bind_remoteviews=false
|
||||
permissions/bind_text_service=false
|
||||
permissions/bind_vpn_service=false
|
||||
permissions/bind_wallpaper=false
|
||||
permissions/bluetooth=false
|
||||
permissions/bluetooth_admin=false
|
||||
permissions/bluetooth_privileged=false
|
||||
permissions/brick=false
|
||||
permissions/broadcast_package_removed=false
|
||||
permissions/broadcast_sms=false
|
||||
permissions/broadcast_sticky=false
|
||||
permissions/broadcast_wap_push=false
|
||||
permissions/call_phone=false
|
||||
permissions/call_privileged=false
|
||||
permissions/camera=false
|
||||
permissions/capture_audio_output=false
|
||||
permissions/capture_secure_video_output=false
|
||||
permissions/capture_video_output=false
|
||||
permissions/change_component_enabled_state=false
|
||||
permissions/change_configuration=false
|
||||
permissions/change_network_state=false
|
||||
permissions/change_wifi_multicast_state=false
|
||||
permissions/change_wifi_state=false
|
||||
permissions/clear_app_cache=false
|
||||
permissions/clear_app_user_data=false
|
||||
permissions/control_location_updates=false
|
||||
permissions/delete_cache_files=false
|
||||
permissions/delete_packages=false
|
||||
permissions/device_power=false
|
||||
permissions/diagnostic=false
|
||||
permissions/disable_keyguard=false
|
||||
permissions/dump=false
|
||||
permissions/expand_status_bar=false
|
||||
permissions/factory_test=false
|
||||
permissions/flashlight=false
|
||||
permissions/force_back=false
|
||||
permissions/get_accounts=false
|
||||
permissions/get_package_size=false
|
||||
permissions/get_tasks=false
|
||||
permissions/get_top_activity_info=false
|
||||
permissions/global_search=false
|
||||
permissions/hardware_test=false
|
||||
permissions/inject_events=false
|
||||
permissions/install_location_provider=false
|
||||
permissions/install_packages=false
|
||||
permissions/install_shortcut=false
|
||||
permissions/internal_system_window=false
|
||||
permissions/internet=true
|
||||
permissions/kill_background_processes=false
|
||||
permissions/location_hardware=false
|
||||
permissions/manage_accounts=false
|
||||
permissions/manage_app_tokens=false
|
||||
permissions/manage_documents=false
|
||||
permissions/master_clear=false
|
||||
permissions/media_content_control=false
|
||||
permissions/modify_audio_settings=false
|
||||
permissions/modify_phone_state=false
|
||||
permissions/mount_format_filesystems=false
|
||||
permissions/mount_unmount_filesystems=false
|
||||
permissions/nfc=false
|
||||
permissions/persistent_activity=false
|
||||
permissions/process_outgoing_calls=false
|
||||
permissions/read_calendar=false
|
||||
permissions/read_call_log=false
|
||||
permissions/read_contacts=false
|
||||
permissions/read_external_storage=true
|
||||
permissions/read_frame_buffer=false
|
||||
permissions/read_history_bookmarks=false
|
||||
permissions/read_input_state=false
|
||||
permissions/read_logs=false
|
||||
permissions/read_phone_state=false
|
||||
permissions/read_profile=false
|
||||
permissions/read_sms=false
|
||||
permissions/read_social_stream=false
|
||||
permissions/read_sync_settings=false
|
||||
permissions/read_sync_stats=false
|
||||
permissions/read_user_dictionary=false
|
||||
permissions/reboot=false
|
||||
permissions/receive_boot_completed=false
|
||||
permissions/receive_mms=false
|
||||
permissions/receive_sms=false
|
||||
permissions/receive_wap_push=false
|
||||
permissions/record_audio=false
|
||||
permissions/reorder_tasks=false
|
||||
permissions/restart_packages=false
|
||||
permissions/send_respond_via_message=false
|
||||
permissions/send_sms=false
|
||||
permissions/set_activity_watcher=false
|
||||
permissions/set_alarm=false
|
||||
permissions/set_always_finish=false
|
||||
permissions/set_animation_scale=false
|
||||
permissions/set_debug_app=false
|
||||
permissions/set_orientation=false
|
||||
permissions/set_pointer_speed=false
|
||||
permissions/set_preferred_applications=false
|
||||
permissions/set_process_limit=false
|
||||
permissions/set_time=false
|
||||
permissions/set_time_zone=false
|
||||
permissions/set_wallpaper=false
|
||||
permissions/set_wallpaper_hints=false
|
||||
permissions/signal_persistent_processes=false
|
||||
permissions/status_bar=false
|
||||
permissions/subscribed_feeds_read=false
|
||||
permissions/subscribed_feeds_write=false
|
||||
permissions/system_alert_window=false
|
||||
permissions/transmit_ir=false
|
||||
permissions/uninstall_shortcut=false
|
||||
permissions/update_device_stats=false
|
||||
permissions/use_credentials=false
|
||||
permissions/use_sip=false
|
||||
permissions/vibrate=false
|
||||
permissions/wake_lock=false
|
||||
permissions/write_apn_settings=false
|
||||
permissions/write_calendar=false
|
||||
permissions/write_call_log=false
|
||||
permissions/write_contacts=false
|
||||
permissions/write_external_storage=true
|
||||
permissions/write_gservices=false
|
||||
permissions/write_history_bookmarks=false
|
||||
permissions/write_profile=false
|
||||
permissions/write_secure_settings=false
|
||||
permissions/write_settings=false
|
||||
permissions/write_sms=false
|
||||
permissions/write_social_stream=false
|
||||
permissions/write_sync_settings=false
|
||||
permissions/write_user_dictionary=false
|
||||
|
|
|
@ -44,6 +44,8 @@ Remote="*res://Scenes/Global/Remote.tscn"
|
|||
|
||||
window/size/width=1280
|
||||
window/size/height=800
|
||||
window/stretch/mode="2d"
|
||||
window/stretch/aspect="expand"
|
||||
|
||||
[input]
|
||||
|
||||
|
|
Loading…
Reference in a new issue