将 Holster 抽成通用背包 Package
1 parent 409b301 commit 550385635657860ff314a8bf2537841bed1c6020
@lijincheng lijincheng authored on 4 Jul 2023
Showing 15 changed files
View
6
DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001.png.import
 
importer="texture"
type="CompressedTexture2D"
uid="uid://chd2vtesap5cf"
path="res://.godot/imported/Enemy0001.png-148a38dfa95953b26d890356e8875de4.ctex"
path="res://.godot/imported/enemy0001.png-1247a3ddf8a1a163d812cad12c4340fd.ctex"
metadata={
"vram_texture": false
}
 
[deps]
 
source_file="res://resource/sprite/role/enemy0001/Enemy0001.png"
dest_files=["res://.godot/imported/Enemy0001.png-148a38dfa95953b26d890356e8875de4.ctex"]
source_file="res://resource/sprite/role/enemy0001/enemy0001.png"
dest_files=["res://.godot/imported/enemy0001.png-1247a3ddf8a1a163d812cad12c4340fd.ctex"]
 
[params]
 
compress/mode=0
View
6
DungeonShooting_Godot/resource/sprite/role/enemy0001/enemy0001_Debris.png.import
 
importer="texture"
type="CompressedTexture2D"
uid="uid://d2f55lu60x64i"
path="res://.godot/imported/Enemy0001_Debris.png-ac416dc79cd3c1217b27e1ef1fbe0d0b.ctex"
path="res://.godot/imported/enemy0001_Debris.png-297a2fb6680cb862a9a085cf58f8268c.ctex"
metadata={
"vram_texture": false
}
 
[deps]
 
source_file="res://resource/sprite/role/enemy0001/Enemy0001_Debris.png"
dest_files=["res://.godot/imported/Enemy0001_Debris.png-ac416dc79cd3c1217b27e1ef1fbe0d0b.ctex"]
source_file="res://resource/sprite/role/enemy0001/enemy0001_Debris.png"
dest_files=["res://.godot/imported/enemy0001_Debris.png-297a2fb6680cb862a9a085cf58f8268c.ctex"]
 
[params]
 
compress/mode=0
View
20
DungeonShooting_Godot/resource/theme/mainTheme.tres
bg_color = Color(0.260588, 0.156863, 0.724706, 0.8)
 
[sub_resource type="ImageTexture" id="58"]
 
[sub_resource type="Image" id="Image_tiopb"]
[sub_resource type="Image" id="Image_53iwr"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 39, 255, 255, 255, 67, 255, 255, 255, 67, 255, 255, 255, 39, 255, 255, 255, 1, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 39, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 39, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 66, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 66, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 66, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 66, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 39, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 75, 255, 255, 255, 39, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 1, 255, 255, 255, 39, 255, 255, 255, 67, 255, 255, 255, 67, 255, 255, 255, 39, 255, 255, 255, 1, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
"height": 12,
"width": 12
}
 
[sub_resource type="ImageTexture" id="60"]
image = SubResource("Image_tiopb")
image = SubResource("Image_53iwr")
 
[sub_resource type="StyleBoxTexture" id="61"]
content_margin_left = 2.0
content_margin_top = 2.0
content_margin_bottom = 2.0
texture = SubResource("60")
region_rect = Rect2(0, 0, 12, 12)
 
[sub_resource type="Image" id="Image_3mc6w"]
[sub_resource type="Image" id="Image_sxg3y"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 247, 247, 247, 0, 248, 248, 248, 0, 248, 248, 248, 0, 247, 247, 247, 0, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 191, 191, 191, 4, 247, 247, 247, 98, 248, 248, 248, 167, 248, 248, 248, 167, 247, 247, 247, 98, 191, 191, 191, 4, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, 0, 247, 247, 247, 97, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 247, 247, 247, 97, 247, 247, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 0, 248, 248, 248, 164, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 164, 248, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 248, 248, 248, 0, 248, 248, 248, 164, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 164, 248, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 247, 247, 247, 0, 247, 247, 247, 97, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 248, 248, 248, 186, 247, 247, 247, 97, 247, 247, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 191, 191, 191, 4, 247, 247, 247, 98, 248, 248, 248, 167, 248, 248, 248, 167, 247, 247, 247, 98, 191, 191, 191, 4, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 191, 191, 0, 247, 247, 247, 0, 248, 248, 248, 0, 248, 248, 248, 0, 247, 247, 247, 0, 191, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
"height": 12,
"width": 12
}
 
[sub_resource type="ImageTexture" id="63"]
image = SubResource("Image_3mc6w")
image = SubResource("Image_sxg3y")
 
[sub_resource type="StyleBoxTexture" id="64"]
content_margin_left = 2.0
content_margin_top = 2.0
content_margin_bottom = 2.0
texture = SubResource("63")
region_rect = Rect2(0, 0, 12, 12)
 
[sub_resource type="Image" id="Image_4kug6"]
[sub_resource type="Image" id="Image_gteoy"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 127, 127, 127, 4, 173, 173, 173, 97, 173, 173, 173, 166, 173, 173, 173, 166, 173, 173, 173, 97, 127, 127, 127, 4, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 172, 172, 0, 172, 172, 172, 96, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 172, 172, 172, 96, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 173, 173, 0, 173, 173, 173, 163, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 163, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 173, 173, 0, 173, 173, 173, 163, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 163, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 172, 172, 0, 172, 172, 172, 96, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 173, 173, 173, 185, 172, 172, 172, 96, 172, 172, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 127, 127, 127, 4, 173, 173, 173, 97, 173, 173, 173, 166, 173, 173, 173, 166, 173, 173, 173, 97, 127, 127, 127, 4, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 127, 127, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 173, 173, 173, 0, 127, 127, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
"height": 12,
"width": 12
}
 
[sub_resource type="ImageTexture" id="66"]
image = SubResource("Image_4kug6")
image = SubResource("Image_gteoy")
 
[sub_resource type="StyleBoxTexture" id="67"]
content_margin_left = 2.0
content_margin_top = 2.0
content_margin_bottom = 2.0
texture = SubResource("66")
region_rect = Rect2(0, 0, 12, 12)
 
[sub_resource type="Image" id="Image_yud6e"]
[sub_resource type="Image" id="Image_fr7jb"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 16, 255, 255, 255, 21, 255, 255, 255, 21, 255, 255, 255, 16, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 16, 255, 255, 255, 21, 255, 255, 255, 21, 255, 255, 255, 16, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 4, 255, 255, 255, 16, 255, 255, 255, 16, 255, 255, 255, 4, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
"height": 12,
"width": 12
}
 
[sub_resource type="ImageTexture" id="69"]
image = SubResource("Image_yud6e")
image = SubResource("Image_fr7jb")
 
[sub_resource type="StyleBoxTexture" id="70"]
content_margin_left = 0.0
content_margin_top = 0.0
content_margin_top = 4.0
content_margin_right = 4.0
content_margin_bottom = 4.0
 
[sub_resource type="Image" id="Image_luetf"]
[sub_resource type="Image" id="Image_6yo53"]
data = {
"data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 228, 255, 255, 255, 188, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 228, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 18, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 187, 255, 255, 255, 17, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 187, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 18, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 17, 255, 255, 255, 17, 255, 255, 255, 186, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 190, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 185, 255, 255, 255, 229, 255, 255, 255, 189, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 191, 255, 255, 255, 229, 255, 255, 255, 229, 255, 255, 255, 190, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 187, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 187, 255, 255, 255, 229, 255, 255, 255, 188, 255, 255, 255, 18, 255, 255, 255, 19, 255, 255, 255, 188, 255, 255, 255, 229, 255, 255, 255, 186, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 17, 255, 255, 255, 185, 255, 255, 255, 229, 255, 255, 255, 189, 255, 255, 255, 19, 255, 255, 255, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 189, 255, 255, 255, 229, 255, 255, 255, 185, 255, 255, 255, 17, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 76, 255, 255, 255, 229, 255, 255, 255, 190, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 190, 255, 255, 255, 229, 255, 255, 255, 76, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 77, 255, 255, 255, 19, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 19, 255, 255, 255, 77, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
"format": "RGBA8",
"height": 16,
"width": 16
}
 
[sub_resource type="ImageTexture" id="56"]
image = SubResource("Image_luetf")
image = SubResource("Image_6yo53")
 
[sub_resource type="StyleBoxFlat" id="57"]
content_margin_left = 6.0
content_margin_top = 4.0
View
2
■■■
DungeonShooting_Godot/src/game/Cursor.cs
public override void _Process(double delta)
{
if (!_isGuiMode)
{
var targetGun = _mountRole?.Holster.ActiveWeapon;
var targetGun = _mountRole?.Holster.ActiveItem;
if (targetGun != null)
{
SetScope(targetGun.CurrScatteringRange, targetGun);
}
View
41
DungeonShooting_Godot/src/game/activity/package/IPackageItem.cs 0 → 100644
 
/// <summary>
/// 可放入背包中的物体接口
/// </summary>
public interface IPackageItem
{
/// <summary>
/// 物体所属角色
/// </summary>
Role Master { get; set; }
 
/// <summary>
/// 物体在背包中的索引, 如果不在背包中则为 -1
/// </summary>
int PackageIndex { get; set; }
 
/// <summary>
/// 当物体拾起并放入背包时调用
/// </summary>
void OnPickUpItem();
/// <summary>
/// 当物体从背包中移除时调用
/// </summary>
void OnRemoveItem();
/// <summary>
/// 当切换到当前物体时调用
/// </summary>
void OnActiveItem();
/// <summary>
/// 当收起当前物体时调用
/// </summary>
void OnConcealItem();
 
/// <summary>
/// 当道具溢出时调用, 也就是修改了背包大小后背包容不下这个道具时调用, 用于处理扔下道具
/// </summary>
void OnOverflowItem();
}
View
355
DungeonShooting_Godot/src/game/activity/package/Package.cs 0 → 100644
using System;
using System.Collections.Generic;
 
public class Package<T> where T : ActivityObject, IPackageItem
{
/// <summary>
/// 归属者
/// </summary>
public Role Master { get; }
 
/// <summary>
/// 当前使用的物体对象
/// </summary>
public T ActiveItem { get; private set; }
 
/// <summary>
/// 当前使用的物体的索引
/// </summary>
public int ActiveIndex { get; private set; } = 0;
 
/// <summary>
/// 物体袋容量
/// </summary>
public int Capacity { get; private set; } = 0;
 
/// <summary>
/// 物体插槽
/// </summary>
public T[] ItemSlot { get; private set; }
 
public Package(Role master)
{
Master = master;
//默认容量4
SetCapacity(4);
}
 
/// <summary>
/// 修改物体袋容量
/// </summary>
public void SetCapacity(int capacity)
{
if (capacity < 0)
{
capacity = 0;
}
 
if (capacity == Capacity)
{
return;
}
 
if (ItemSlot == null)
{
ItemSlot = new T[capacity];
}
else if (ItemSlot.Length > capacity) //删减格子
{
var newArray = new T[capacity];
for (var i = 0; i < ItemSlot.Length; i++)
{
var packageItem = ItemSlot[i];
if (i < capacity)
{
newArray[i] = packageItem;
}
else
{
//溢出的item
packageItem.OnOverflowItem();
packageItem.Master = null;
packageItem.PackageIndex = -1;
}
}
 
ItemSlot = newArray;
}
else //添加格子
{
var newArray = new T[capacity];
for (var i = 0; i < ItemSlot.Length; i++)
{
newArray[i] = ItemSlot[i];
}
ItemSlot = newArray;
}
Capacity = capacity;
}
 
/// <summary>
/// 返回当前物体袋是否是空的
/// </summary>
public bool IsEmpty()
{
for (var i = 0; i < ItemSlot.Length; i++)
{
if (ItemSlot[i] != null)
{
return false;
}
}
 
return true;
}
/// <summary>
/// 返回当前物体袋是否还有空位
/// </summary>
public bool HasVacancy()
{
for (var i = 0; i < ItemSlot.Length; i++)
{
if (ItemSlot[i] == null)
{
return true;
}
}
 
return false;
}
 
/// <summary>
/// 根据索引获取物体
/// </summary>
public T GetItem(int index)
{
if (index < 0 || index >= ItemSlot.Length)
{
return null;
}
return ItemSlot[index];
}
 
/// <summary>
/// 根据物体id查找物体袋中该物体所在的位置, 如果没有, 则返回 -1
/// </summary>
/// <param name="id">物体id</param>
public int FindItem(string id)
{
for (var i = 0; i < ItemSlot.Length; i++)
{
var item = ItemSlot[i];
if (item != null && item.ItemConfig.Id == id)
{
return i;
}
}
return -1;
}
 
/// <summary>
/// 通过回调函数查询物体在物体袋中的位置, 如果没有, 则返回 -1
/// </summary>
public int FindItem(Func<T, int, bool> handler)
{
for (var i = 0; i < ItemSlot.Length; i++)
{
var item = ItemSlot[i];
if (item != null && handler(item, i))
{
return i;
}
}
return -1;
}
 
/// <summary>
/// 遍历所有物体
/// </summary>
public void ForEach(Action<T, int> handler)
{
for (var i = 0; i < ItemSlot.Length; i++)
{
var item = ItemSlot[i];
if (item != null)
{
handler(item, i);
}
}
}
 
/// <summary>
/// 从物体袋中移除所有物体, 并返回
/// </summary>
public T[] GetAndClearItem()
{
var items = new List<T>();
for (var i = 0; i < ItemSlot.Length; i++)
{
var item = ItemSlot[i];
if (item != null)
{
//触发移除物体
item.OnRemoveItem();
item.Master = null;
item.PackageIndex = -1;
 
items.Add(item);
ItemSlot[i] = null;
}
}
 
return items.ToArray();
}
 
/// <summary>
/// 返回是否能放入物体
/// </summary>
/// <param name="item">物体对象</param>
public bool CanPickupItem(T item)
{
for (var i = 0; i < ItemSlot.Length; i++)
{
var tempItem = ItemSlot[i];
if (tempItem == null)
{
return true;
}
}
return false;
}
 
/// <summary>
/// 拾起物体, 存入物体袋中, 返回存放在物体袋的位置, 如果容不下这个物体, 则会返回 -1
/// </summary>
/// <param name="item">物体对象</param>
/// <param name="exchange">是否立即切换到该物体, 默认 true </param>
public int PickupItem(T item, bool exchange = true)
{
//已经被拾起了
if (item.Master != null)
{
return -1;
}
for (var i = 0; i < ItemSlot.Length; i++)
{
var tempItem = ItemSlot[i];
if (tempItem == null)
{
ItemSlot[i] = item;
item.Master = Master;
item.PackageIndex = i;
item.OnPickUpItem();
if (exchange)
{
ExchangeByIndex(i);
}
 
return i;
}
}
return -1;
}
 
/// <summary>
/// 移除指定位置的物体, 并返回这个物体对象, 如果移除正在使用的这个物体, 则会自动切换到上一个物体
/// </summary>
/// <param name="index">所在物体袋的位置索引</param>
public T RemoveItem(int index)
{
if (index < 0 || index >= ItemSlot.Length)
{
return null;
}
var item = ItemSlot[index];
if (item == null)
{
return null;
}
ItemSlot[index] = null;
 
//如果是当前手持的物体, 就需要调用切换物体操作
if (index == ActiveIndex)
{
//没有其他物体了
if (ExchangePrev() == index)
{
ActiveIndex = 0;
ActiveItem = null;
}
}
//移除物体
item.OnRemoveItem();
item.Master = null;
item.PackageIndex = -1;
// item.GetParent().RemoveChild(item);
// item.Remove();
return item;
}
 
/// <summary>
/// 切换到上一个物体
/// </summary>
public int ExchangePrev()
{
var index = ActiveIndex - 1;
do
{
if (index < 0)
{
index = ItemSlot.Length - 1;
}
if (ExchangeByIndex(index))
{
return index;
}
} while (index-- != ActiveIndex);
return -1;
}
 
/// <summary>
/// 切换到下一个物体,
/// </summary>
public int ExchangeNext()
{
var index = ActiveIndex + 1;
do
{
if (index >= ItemSlot.Length)
{
index = 0;
}
if (ExchangeByIndex(index))
{
return index;
}
} while (index++ != ActiveIndex);
return -1;
}
 
/// <summary>
/// 切换到指定索引的物体
/// </summary>
public bool ExchangeByIndex(int index)
{
if (index == ActiveIndex && ActiveItem != null) return true;
if (index < 0 || index > ItemSlot.Length) return false;
var item = ItemSlot[index];
if (item == null) return false;
 
//将上一个物体放到背后
if (ActiveItem != null)
{
//收起物体
ActiveItem.OnConcealItem();
}
 
//切换物体
ActiveItem = item;
ActiveIndex = index;
ActiveItem.OnActiveItem();
return true;
}
}
View
37
DungeonShooting_Godot/src/game/activity/prop/Prop.cs
 
/// <summary>
/// 道具基类
/// </summary>
public abstract partial class Prop : ActivityObject
public abstract partial class Prop : ActivityObject, IPackageItem
{
/// <summary>
/// 道具的拥有者
/// </summary>
public Role Master { get; private set; }
public Role Master { get; set; }
 
public int PackageIndex { get; set; } = -1;
 
/// <summary>
/// 当被动被道具被拾起时调用
/// </summary>
/// <param name="master">拾起该道具的角色</param>
return new CheckInteractiveResult(this, true, ResourcePath.resource_sprite_ui_icon_icon_pickup_png);
}
return base.CheckInteractive(master);
}
public void OnRemoveItem()
{
}
 
public void OnPickUpItem()
{
}
 
public void OnActiveItem()
{
}
 
public void OnConcealItem()
{
}
 
public void OnOverflowItem()
{
}
}
View
DungeonShooting_Godot/src/game/activity/role/Player.cs
View
DungeonShooting_Godot/src/game/activity/role/Role.cs
View
DungeonShooting_Godot/src/game/activity/role/enemy/Enemy.cs
View
DungeonShooting_Godot/src/game/activity/role/enemy/state/AiFollowUpState.cs
View
DungeonShooting_Godot/src/game/activity/role/enemy/state/AiSurroundState.cs
View
DungeonShooting_Godot/src/game/activity/weapon/Weapon.cs
View
DungeonShooting_Godot/src/game/ui/roomUI/ReloadBar.cs
View
DungeonShooting_Godot/src/game/ui/roomUI/WeaponBar.cs