refactor proj and bring new design

This commit is contained in:
yyc12345 committed 2022-08-28 13:32:05 +08:00
1 parent 449b95e036
commit fdcdbdc30a
151 files changed
+2118 -1422

No files matched your search

+4
View File
@@ -0,0 +1,4 @@
*.import eol=lf
*.tscn eol=lf
*.godot eol=lf
*.tres eol=lf
+222 -3
View File
@@ -1,7 +1,7 @@
# my own ban
resources/fonts/*.otf
resources/fonts/*.ttf
resources/textures
src/resources/fonts/*.otf
src/resources/fonts/*.ttf
src/resources/textures/ballance
# Godot-specific ignores
.import/
@@ -15,3 +15,222 @@ export_presets.cfg
.mono/
data_*/
.vs/
## ------------------------Visual Studio normal settings---------------------------------------
## Ignore Visual Studio build files, cache files, and rubbish files.
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Visual Studio 2015 cache/options directory
.vs/
# Build result
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
build/
bld/
[Bb]in/
[Oo]bj/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUNIT
*.VisualState.xml
TestResult.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# DNX
project.lock.json
artifacts/
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# JustCode is a .NET coding add-in
.JustCode
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# NCrunch
_NCrunch_*
.*crunch*.local.xml
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
## TODO: Comment the next line if you want to checkin your
## web deploy settings but do note that will include unencrypted
## passwords
#*.pubxml
*.publishproj
# NuGet Packages
*.nupkg
# The packages folder can be ignored because of Package Restore
**/packages/*
# except build/, which is used as an MSBuild target.
!**/packages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/packages/repositories.config
# Windows Azure Build Output
csx/
*.build.csdef
# Windows Store app package directory
AppPackages/
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!*.[Cc]ache/
# Others
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/
orleans.codegen.cs
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
*.mdf
*.ldf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
# Microsoft Fakes
FakesAssemblies/
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# LightSwitch generated files
GeneratedArtifacts/
_Pvt_Extensions/
ModelManifest.xml
-19
View File
@@ -1,19 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BallanceStalker", "BallanceStalker.csproj", "{55B5D158-D2E5-4A32-9C96-5878BD379AD3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
ExportDebug|Any CPU = ExportDebug|Any CPU
ExportRelease|Any CPU = ExportRelease|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
EndGlobalSection
EndGlobal
+3
View File
@@ -0,0 +1,3 @@
# BallanceStalker
A software created by a sad and withered person.
@@ -1,21 +0,0 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/btn_click.wav-10bd4155242a075bd68a0c5c45b66a23.sample"
[deps]
source_file="res://resources/user_interface/soundeffects/btn_click.wav"
dest_files=[ "res://.import/btn_click.wav-10bd4155242a075bd68a0c5c45b66a23.sample" ]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop=false
compress/mode=0
@@ -1,11 +0,0 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/user_interface/textures/btn-small-deselect.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
region_rect = Rect2( 0, 0, 64, 32 )
margin_left = 14.1409
margin_right = 12.785
margin_top = 13.5598
margin_bottom = 13.3661
@@ -1,11 +0,0 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/user_interface/textures/lineedit_borderless_deselect.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
region_rect = Rect2( 0, 0, 64, 32 )
margin_left = 14.1409
margin_right = 12.785
margin_top = 13.5598
margin_bottom = 13.3661
@@ -1,11 +0,0 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/user_interface/textures/lineedit_borderless_select.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
region_rect = Rect2( 0, 0, 64, 32 )
margin_left = 14.1409
margin_right = 12.785
margin_top = 13.5598
margin_bottom = 13.3661
@@ -1,11 +0,0 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/user_interface/textures/lineedit_deselect.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
region_rect = Rect2( 0, 0, 64, 32 )
margin_left = 14.1409
margin_right = 12.785
margin_top = 13.5598
margin_bottom = 13.3661
@@ -1,35 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/hslider-grabber-deselect.png-dbd5e229e735b61fac88b8a1fde9e3d5.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/hslider-grabber-deselect.png"
dest_files=[ "res://.import/hslider-grabber-deselect.png-dbd5e229e735b61fac88b8a1fde9e3d5.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
@@ -1,35 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/hslider-grabber-select.png-7673e5df914571ff3de950ffc32eb49c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/hslider-grabber-select.png"
dest_files=[ "res://.import/hslider-grabber-select.png-7673e5df914571ff3de950ffc32eb49c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
@@ -1,35 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/lineedit_deselect.png-45991e7209bc02828712ac76f58e16af.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/lineedit_deselect.png"
dest_files=[ "res://.import/lineedit_deselect.png-45991e7209bc02828712ac76f58e16af.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
@@ -1,35 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/vscrollbar-grabber-deselect.png-41f1392911c0d83776adf73235c234f7.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/vscrollbar-grabber-deselect.png"
dest_files=[ "res://.import/vscrollbar-grabber-deselect.png-41f1392911c0d83776adf73235c234f7.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
@@ -1,35 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/vscrollbar-grabber-select.png-72f3de637b203963d3a8fc9ea0b65abf.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/vscrollbar-grabber-select.png"
dest_files=[ "res://.import/vscrollbar-grabber-select.png-72f3de637b203963d3a8fc9ea0b65abf.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
@@ -1,35 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/vscrollbar-scroll-deselect.png-211048eb599996b436cb2b45ed32482b.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/vscrollbar-scroll-deselect.png"
dest_files=[ "res://.import/vscrollbar-scroll-deselect.png-211048eb599996b436cb2b45ed32482b.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
@@ -1,35 +0,0 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/vscrollbar-scroll-select.png-0642361f149185c68fc0158fd364aa8b.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/vscrollbar-scroll-select.png"
dest_files=[ "res://.import/vscrollbar-scroll-select.png-0642361f149185c68fc0158fd364aa8b.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
-17
View File
@@ -1,17 +0,0 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://scenes/stages/MenuManager.tscn" type="PackedScene" id=1]
[ext_resource path="res://scenes/stages/StalkerCore.tscn" type="PackedScene" id=2]
[ext_resource path="res://scripts/GameRoot.cs" type="Script" id=3]
[ext_resource path="res://scenes/stages/ConsolePanel.tscn" type="PackedScene" id=4]
[node name="GameRoot" type="Node"]
script = ExtResource( 3 )
[node name="ConsolePanel" parent="." instance=ExtResource( 4 )]
visible = false
[node name="MenuManager" parent="." instance=ExtResource( 1 )]
visible = false
[node name="StalkerCore" parent="." instance=ExtResource( 2 )]
-46
View File
@@ -1,46 +0,0 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://scenes/user_interface/LineEditBorderless.tscn" type="PackedScene" id=1]
[ext_resource path="res://scripts/stages/ConsolePanel.cs" type="Script" id=2]
[ext_resource path="res://resources/user_interface/default_theme.tres" type="Theme" id=3]
[node name="ConsolePanel" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
theme = ExtResource( 3 )
script = ExtResource( 2 )
[node name="CommandInput" parent="." instance=ExtResource( 1 )]
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
margin_top = -44.0
margin_right = 0.0
margin_bottom = 0.0
size_flags_vertical = 3
placeholder_text = "Input your command here..."
placeholder_alpha = 0.3
caret_blink = true
[node name="ScrollSet" type="Control" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
margin_top = 24.0
margin_right = -48.0
margin_bottom = -64.0
[node name="ScrollBackground" type="ColorRect" parent="ScrollSet"]
anchor_right = 1.0
anchor_bottom = 1.0
color = Color( 0, 0, 0, 0.498039 )
[node name="Scrollbar" type="ScrollContainer" parent="ScrollSet"]
anchor_right = 1.0
anchor_bottom = 1.0
scroll_horizontal_enabled = false
[node name="MessageContainer" type="VBoxContainer" parent="ScrollSet/Scrollbar"]
margin_right = 976.0
margin_bottom = 680.0
size_flags_horizontal = 3
size_flags_vertical = 3
-13
View File
@@ -1,13 +0,0 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://resources/user_interface/default_theme.tres" type="Theme" id=1]
[ext_resource path="res://scenes/stages/menus/MenuMain.tscn" type="PackedScene" id=2]
[ext_resource path="res://scripts/stages/MenuManager.cs" type="Script" id=3]
[node name="MenuManager" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
theme = ExtResource( 1 )
script = ExtResource( 3 )
[node name="MenuMain" parent="." instance=ExtResource( 2 )]
-21
View File
@@ -1,21 +0,0 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://resources/user_interface/styles/btn_style_select.tres" type="StyleBox" id=1]
[ext_resource path="res://resources/user_interface/styles/btn_style_deselect.tres" type="StyleBox" id=2]
[ext_resource path="res://resources/fonts/fontstyle_normal.tres" type="DynamicFont" id=3]
[ext_resource path="res://scripts/user_interface/ButtonCommon.cs" type="Script" id=4]
[ext_resource path="res://resources/user_interface/soundeffects/btn_click.wav" type="AudioStream" id=5]
[node name="ButtonNormal" type="Button"]
margin_right = 12.0
margin_bottom = 20.0
custom_fonts/font = ExtResource( 3 )
custom_styles/hover = ExtResource( 1 )
custom_styles/pressed = ExtResource( 1 )
custom_styles/focus = ExtResource( 1 )
custom_styles/disabled = ExtResource( 2 )
custom_styles/normal = ExtResource( 2 )
script = ExtResource( 4 )
[node name="AudioClick" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 5 )
-52
View File
@@ -1,52 +0,0 @@
using Godot;
using System;
public class GameRoot : Node {
MenuManager mMenuManager;
StalkerCore mStalkerCore;
public override void _Ready() {
mMenuManager = GetNode<MenuManager>("MenuManager");
mStalkerCore = GetNode<StalkerCore>("StalkerCore");
//mMenuManager.Connect(nameof(MenuManager.SetMouseCapture), this, nameof(Proc_MenuManager_SetMouseCapture));
mMenuManager.Connect(nameof(MenuManager.ExitGame), this, nameof(Proc_MenuManager_ExitGame));
//// raw executing this func
//// to set proper status
//Proc_MenuManager_SetMouseCapture();
BallanceStalkerCore.StalkerManager.Singleton.EventControllerChanged += Proc_StalkerManager_EventControllerChanged;
BallanceStalkerCore.StalkerManager.Singleton.SetEventController(BallanceStalkerCore.EventControllerSource.None);
}
private void Proc_StalkerManager_EventControllerChanged(BallanceStalkerCore.EventControllerSource obj) {
switch (obj) {
case BallanceStalkerCore.EventControllerSource.None:
Input.SetMouseMode(Input.MouseMode.Captured);
break;
case BallanceStalkerCore.EventControllerSource.Menu:
case BallanceStalkerCore.EventControllerSource.Console:
case BallanceStalkerCore.EventControllerSource.Chat:
Input.SetMouseMode(Input.MouseMode.Visible);
break;
}
}
public override void _Input(InputEvent @event) {
}
//private void Proc_MenuManager_SetMouseCapture() {
// if (mMenuManager.Visible) {
// Input.SetMouseMode(Input.MouseMode.Visible);
// } else {
// Input.SetMouseMode(Input.MouseMode.Captured);
// }
//}
private void Proc_MenuManager_ExitGame() {
GetTree().Notification(MainLoop.NotificationWmQuitRequest);
}
}
-101
View File
@@ -1,101 +0,0 @@
using Godot;
using System;
using System.Collections.Generic;
public enum LabelConsoleMessageType {
Normal,
Highlight,
Error
}
public class ConsolePanel : Control {
private LineEdit mCmdInput;
private ScrollContainer mScrollbar;
private VScrollBar mScrollbarVChild;
private VBoxContainer mMessageContainer;
private PackedScene mTemplateLabelConsole;
private Queue<LabelConsole> mMessageQueue = new Queue<LabelConsole>();
private readonly int QUEUE_MAX_SIZE = 100;
public override void _Ready() {
mTemplateLabelConsole = ResourceLoader.Load<PackedScene>("res://scenes/user_interface/LabelConsole.tscn");
mCmdInput = GetNode<LineEdit>("CommandInput");
mScrollbar = GetNode<ScrollContainer>("ScrollSet/Scrollbar");
mScrollbarVChild = mScrollbar.GetVScrollbar();
mMessageContainer = GetNode<VBoxContainer>("ScrollSet/Scrollbar/MessageContainer");
mCmdInput.Connect("text_entered", this, nameof(Proc_LineEdit_TextEntered));
mScrollbarVChild.Connect("changed", this, nameof(Proc_ScrollbarVChild_Changed));
BallanceStalkerCore.StalkerManager.Singleton.EventControllerChanged += Proc_StalkerManager_EventControllerChanged;
}
private void Proc_StalkerManager_EventControllerChanged(BallanceStalkerCore.EventControllerSource obj) {
if (obj == BallanceStalkerCore.EventControllerSource.Chat) {
this.Visible = true;
mCmdInput.GrabFocus();
} else if (obj == BallanceStalkerCore.EventControllerSource.Console) {
// same process of chat
// but only add a extra preset charcater in cmd input
this.Visible = true;
mCmdInput.Text = "/";
mCmdInput.CaretPosition = 1;
mCmdInput.GrabFocus();
} else {
this.Visible = false;
}
}
public override void _Input(InputEvent @event) {
if (!this.Visible) return;
if (@event.IsActionPressed("ballance_esc")) {
// clean input
mCmdInput.Text = "";
// back to camera
BallanceStalkerCore.StalkerManager.Singleton.SetEventController(BallanceStalkerCore.EventControllerSource.None);
// mark handled to prevent loop call
GetTree().SetInputAsHandled();
}
}
private void AddMessage(string strl, LabelConsoleMessageType t) {
LabelConsole target;
if (mMessageQueue.Count > QUEUE_MAX_SIZE) {
// popup last item and remove it from scene first
target = mMessageQueue.Dequeue();
mMessageContainer.RemoveChild(target);
} else {
target = mTemplateLabelConsole.Instance<LabelConsole>();
}
// add into scene and queue
mMessageQueue.Enqueue(target);
mMessageContainer.AddChild(target);
// set text
target.SetText(strl, t);
}
private void Proc_LineEdit_TextEntered(string new_strl) {
if (new_strl != string.Empty) {
// todo: finish cmd parse
if (new_strl.StartsWith("/")) {
AddMessage(new_strl, LabelConsoleMessageType.Highlight);
} else if (new_strl.StartsWith("!")) {
AddMessage(new_strl, LabelConsoleMessageType.Error);
} else {
AddMessage(new_strl, LabelConsoleMessageType.Normal);
}
// clean cmd
mCmdInput.Text = "";
}
}
private void Proc_ScrollbarVChild_Changed() {
mScrollbar.ScrollVertical = (int)mScrollbarVChild.MaxValue;
}
}
-75
View File
@@ -1,75 +0,0 @@
using BallanceStalker;
using Godot;
using System;
public class MenuManager : Control {
public enum MenuPage : int {
Main,
LoadLevel,
LoadSky,
Multiplayer,
About
}
//[Signal]
//public delegate void SetMouseCapture();
[Signal]
public delegate void ExitGame();
private MenuMain mMenuMain;
private MenuPage mCurrentPage;
// Called when the node enters the scene tree for the first time.
public override void _Ready() {
mCurrentPage = MenuPage.Main;
mMenuMain = GetNode<MenuMain>("MenuMain");
mMenuMain.Connect(nameof(MenuMain.MenuMain_GotoPage), this, nameof(Proc_MenuMain_GotoPage));
mMenuMain.Connect(nameof(MenuMain.MenuMain_Back), this, nameof(Proc_MenuMain_Back));
mMenuMain.Connect(nameof(MenuMain.MenuMain_Exit), this, nameof(Proc_MenuMain_Exit));
BallanceStalkerCore.StalkerManager.Singleton.EventControllerChanged += Proc_StalkerManager_EventControllerChanged;
}
private void Proc_StalkerManager_EventControllerChanged(BallanceStalkerCore.EventControllerSource obj) {
if (obj == BallanceStalkerCore.EventControllerSource.Menu) {
this.Visible = true;
} else {
this.Visible = false;
}
}
public override void _Input(InputEvent @event) {
if (!this.Visible) return;
if (@event.IsActionPressed("ballance_esc")) {
if (mCurrentPage == MenuPage.Main) {
// we are in main menu, we need switch visible
BallanceStalkerCore.StalkerManager.Singleton.SetEventController(BallanceStalkerCore.EventControllerSource.None);
} else {
// otherwise, back from sub menu
RefreshMenuPage(MenuPage.Main);
}
// mark handled to prevent loop call
GetTree().SetInputAsHandled();
}
}
private void RefreshMenuPage(MenuPage page_type) {
;//todo:
//mCurrentPage = page_type;
}
private void Proc_MenuMain_GotoPage(MenuPage menu_type) {
RefreshMenuPage(menu_type);
}
private void Proc_MenuMain_Back() {
BallanceStalkerCore.StalkerManager.Singleton.SetEventController(BallanceStalkerCore.EventControllerSource.None);
}
private void Proc_MenuMain_Exit() {
EmitSignal(nameof(ExitGame));
}
}
-231
View File
@@ -1,231 +0,0 @@
using Godot;
using System;
// Reference: https://github.com/godotengine/godot-demo-projects/blob/master/3d/waypoints
public enum ShadowBallType : UInt32 {
Stone,
Wood,
Paper
}
public class ShadowBall : Spatial {
static readonly float MARGIN = 16f; // set it as half of arrow image
static readonly float TEXT_RADIUS = MARGIN + 16f;
private bool mAlwaysTracking = true;
Control mCtl2D;
Spatial mTextArchor, mModelArchor;
TextureRect mPlayerArrow;
Label mPlayername;
Camera mSpectatorCamera = null;
MeshInstance mMeshWood, mMeshStone, mMeshPaper;
ShadowBallType mOldState = ShadowBallType.Wood;
public override void _Ready() {
mCtl2D = GetNode<Control>("TextArchor/Ctl2D");
mTextArchor = GetNode<Spatial>("TextArchor");
mPlayerArrow = GetNode<TextureRect>("TextArchor/Ctl2D/PlayerArrow");
mPlayername = GetNode<Label>("TextArchor/Ctl2D/Playername");
mModelArchor = GetNode<Spatial>("ModelArchor");
mMeshWood = GetNode<MeshInstance>("ModelArchor/Ball_Wood");
mMeshStone = GetNode<MeshInstance>("ModelArchor/Ball_Stone");
mMeshPaper = GetNode<MeshInstance>("ModelArchor/Ball_Paper");
}
public void SetPlayerName(string new_name) {
mPlayername.Text = new_name;
}
public void SetBallState(Vector3 pos, Quat quad, ShadowBallType btype) {
this.Translation = pos;
mModelArchor.Rotation = quad.GetEuler();
if (mOldState != btype) {
switch (mOldState) {
case ShadowBallType.Stone:
mMeshStone.Visible = false;
break;
case ShadowBallType.Wood:
mMeshWood.Visible = false;
break;
case ShadowBallType.Paper:
mMeshPaper.Visible = false;
break;
}
switch (btype) {
case ShadowBallType.Stone:
mMeshStone.Visible = true;
break;
case ShadowBallType.Wood:
mMeshWood.Visible = true;
break;
case ShadowBallType.Paper:
mMeshPaper.Visible = true;
break;
}
mOldState = btype;
}
}
public override void _Process(float delta) {
if (mSpectatorCamera is null || !mSpectatorCamera.Current) {
mSpectatorCamera = GetViewport().GetCamera();
}
if (mSpectatorCamera is null) return;
var parent_translation = mTextArchor.GlobalTransform.origin;
var camera_transform = mSpectatorCamera.GlobalTransform;
var camera_translation = camera_transform.origin;
var unprojected_position = mSpectatorCamera.UnprojectPosition(parent_translation);
// `get_size_override()` will return a valid size only if the stretch mode is `2d`.
// Otherwise, the viewport size is used directly.
var viewport_base_size = GetViewport().GetSizeOverride() > Vector2.Zero ? GetViewport().GetSizeOverride() : GetViewport().Size;
// unprojected_position will return some illegal number, such as inf or nan, so we need to check them here
// if something bad happend, we need hide all UI elements and return immediately
if (Mathf.IsInf(unprojected_position.x) || Mathf.IsInf(unprojected_position.y) ||
Mathf.IsNaN(unprojected_position.x) || Mathf.IsNaN(unprojected_position.y)) {
mCtl2D.Visible = false;
return;
} else {
mCtl2D.Visible = true;
}
// We would use "camera.is_position_behind(parent_translation)", except
// that it also accounts for the near clip plane, which we don't want.
var is_behind = camera_transform.basis.z.Dot(parent_translation - camera_translation) > 0f;
// Fade the waypoint when the camera gets close.
//var distance = camera_translation.DistanceTo(parent_translation);
//mCtl2D.Modulate.a = Godot.Mathf.Clamp(RangeLerp range_lerp(distance, 0, 2, 0, 1), 0, 1);
if (!mAlwaysTracking) {
// For non-sticky waypoints, we don't need to clamp and calculate
// the position if the waypoint goes off screen.
mCtl2D.RectPosition = unprojected_position;
mCtl2D.Visible = !is_behind;
return;
}
// calculate corner position
// We use Liang - Barsky clip to implement this function
var viewport_center = viewport_base_size / 2f;
if (is_behind) {
unprojected_position = viewport_center + (viewport_center - unprojected_position);
}
var relative_pos = unprojected_position - viewport_center;
/*
Liang-Barsky clip
wx_left <= x1+u(x2-x1) <= wx_right
wy_top <= y1+u(y2-y1) <= wy_bottom
p1 = x1-x2;
p2 = x2-x1;
p3 = y1-y2;
p4 = y2-y1;
assume x1 = y1 = 0
left: u(-x2) <= -wx_left
right: u(x2) <= wx_right
bottom: u(y2) <= wy_bottom
top: u(-y2) <= -wy_top
when <= become ==, solve u to get corner data:
left: u1 = wx_left / x2
right: u2 = wx_right / x2
bottom: u3 = wy_bottom / y2
top: u4 = wy_top / y2
u = 0 and 1 indicate the start point and end point of this line.
but we don't need it when `is_behind` is true.
so we modify LB clip method in there
we dont need check requirement: uone > utwo, because it is impossible
that line is outside of viewport entirely.
*/
float u2 = (viewport_center.x - MARGIN) / relative_pos.x,
u1 = -u2;
float u3 = (viewport_center.y - MARGIN) / relative_pos.y,
u4 = -u3;
// becasue p1 = -p2, p3 = -p4
// we need move number to let u1 become negative one and u2 become positive one.
// also the u3, u4.
float cache;
if (Mathf.Sign(relative_pos.x) < 0) {
cache = u1;
u1 = u2;
u2 = cache;
}
if (Mathf.Sign(relative_pos.y) > 0) {
cache = u3;
u3 = u4;
u4 = cache;
}
// we don't need uone, because uone is a const
float uone = 0f, utwo = 1f;
if (relative_pos.x == 0f) {
// only y is valid
if (relative_pos.y == 0f) {
// something goes wrong.
mCtl2D.Visible = false;
return;
} else {
// pick
uone = u3;
utwo = u4;
}
} else {
uone = Mathf.Max(u1, u3);
utwo = Mathf.Min(u2, u4);
}
bool outside_window;
if (!is_behind) {
// if object is not behind the camera, we need to restore the real position of it.
// because previous process assume that the start point and end point of line is ignored.
uone = Mathf.Max(0f, uone);
utwo = Mathf.Min(1f, utwo);
outside_window = utwo != 1f;
} else {
outside_window = true;
}
mCtl2D.RectPosition = (relative_pos * utwo) + viewport_center;
// if player ball is bebind us camera, we need to show a arrow and a playername with it
// otherwise, we only need display username
mPlayerArrow.Visible = outside_window;
if (outside_window) {
// Used to display a diagonal arrow when the waypoint is displayed in
// one of the screen corners.
var deg = Mathf.Rad2Deg(mCtl2D.RectPosition.AngleToPoint(viewport_center));
mPlayerArrow.RectRotation = deg;
var text_pos = mCtl2D.RectPosition.DirectionTo(viewport_center) * TEXT_RADIUS;
text_pos.x -= RangeLerp(mCtl2D.RectPosition.x, MARGIN, viewport_base_size.x - MARGIN, 0f, mPlayername.RectSize.x);
text_pos.y -= RangeLerp(mCtl2D.RectPosition.y, MARGIN, viewport_base_size.y - MARGIN, 0f, mPlayername.RectSize.y);
mPlayername.RectPosition = text_pos;
} else {
mPlayername.RectPosition = (-mPlayername.RectSize) / 2f;
}
}
private static float RangeLerp(float value, float istart, float istop, float ostart, float ostop) {
return ostart + (ostop - ostart) * (value - istart) / (istop - istart);
}
}
-44
View File
@@ -1,44 +0,0 @@
using Godot;
using System;
using System.Collections.Generic;
public class ShadowBallManager : Spatial {
private Dictionary<Guid, ShadowBall> mBallDict = new Dictionary<Guid, ShadowBall>();
private PackedScene mTemplateShadowBall;
// Called when the node enters the scene tree for the first time.
public override void _Ready() {
mTemplateShadowBall = ResourceLoader.Load<PackedScene>("res://scenes/stages/ShadowBall.tscn");
}
public Guid AddBall() {
var guid = Guid.NewGuid();
var instance = mTemplateShadowBall.Instance<ShadowBall>();
AddChild(instance);
mBallDict.Add(guid, instance);
return guid;
}
public void SetBallName(Guid ballid, string new_name) {
if (mBallDict.TryGetValue(ballid, out ShadowBall entity)) {
entity.SetPlayerName(new_name);
}
}
public void SetBallState(Guid ballid, Vector3 pos, Quat quad, ShadowBallType btype) {
if (mBallDict.TryGetValue(ballid, out ShadowBall entity)) {
entity.SetBallState(pos, quad, btype);
}
}
public void RemoveBall(Guid ballid) {
if (mBallDict.TryGetValue(ballid, out ShadowBall entity)) {
RemoveChild(entity);
entity.QueueFree();
mBallDict.Remove(ballid);
}
}
}
-117
View File
@@ -1,117 +0,0 @@
using Godot;
using System;
public class StalkerCamera : Spatial {
Spatial mFreeCamOrigin = null, mSpecCam = null, mStaticCameraOrigin = null, mStaticCameraTracking = null;
Camera mFreeCam;
private static float BASIC_MOVEMENT = 0.2f;
private static float STATIC_MOVEMENT = 10f;
bool mEnableCamera = false;
object lockMotionMouse = new object();
Vector2 motionMouse = new Vector2(0, 0);
int movementScale = 1;
public override void _Ready() {
mFreeCam = GetNode<Camera>("FreeCam");
mFreeCamOrigin = GetNode<Spatial>("FreeCamOrigin");
mStaticCameraOrigin = GetNode<Spatial>("StaticCamOrigin");
mStaticCameraTracking = GetNode<Spatial>("StaticCamOrigin/StaticCamTracking");
mSpecCam = null;
//Input.SetMouseMode(Input.MouseMode.Captured);
BallanceStalkerCore.StalkerManager.Singleton.EventControllerChanged += Proc_StalkerManager_EventControllerChanged;
}
private void Proc_StalkerManager_EventControllerChanged(BallanceStalkerCore.EventControllerSource obj) {
mEnableCamera = obj == BallanceStalkerCore.EventControllerSource.None;
}
public override void _Process(float delta) {
if (!mEnableCamera) return;
if (mSpecCam is null) {
Vector3 motion3d = new Vector3(0, 0, 0);
if (Input.IsActionPressed("ballance_forward")) motion3d.z -= 1f;
if (Input.IsActionPressed("ballance_backward")) motion3d.z += 1f;
if (Input.IsActionPressed("ballance_left")) motion3d.x -= 1f;
if (Input.IsActionPressed("ballance_right")) motion3d.x += 1f;
if (Input.IsActionPressed("ballance_down")) motion3d.y -= 1f;
if (Input.IsActionPressed("ballance_up")) motion3d.y += 1f;
mFreeCam.Translate(motion3d * (BASIC_MOVEMENT * movementScale));
Vector2 copiedMotion2d;
lock (lockMotionMouse) {
copiedMotion2d = motionMouse;
motionMouse = new Vector2(0, 0);
}
var viewport_base_size = GetViewport().GetSizeOverride() > Vector2.Zero ? GetViewport().GetSizeOverride() : GetViewport().Size;
float window_x = viewport_base_size.x;
Vector3 camRot = mFreeCam.Rotation;
camRot.x = Mathf.Clamp(camRot.x - copiedMotion2d.y * 2 / window_x, -90f, 90f);
camRot.y = camRot.y - copiedMotion2d.x * 2 / window_x;
camRot.z = 0;
mFreeCam.Rotation = camRot;
} else {
mStaticCameraOrigin.Translation = mSpecCam.Translation;
mFreeCam.Transform = mFreeCam.Transform.InterpolateWith(mStaticCameraTracking.Transform, STATIC_MOVEMENT);
}
}
public override void _Input(InputEvent @event) {
if (!mEnableCamera) return;
if (@event.IsActionPressed("ballance_esc")) {
BallanceStalkerCore.StalkerManager.Singleton.SetEventController(BallanceStalkerCore.EventControllerSource.Menu);
// mark handled to prevent loop call
GetTree().SetInputAsHandled();
}
if (@event.IsActionPressed("ballance_cmd")) {
BallanceStalkerCore.StalkerManager.Singleton.SetEventController(BallanceStalkerCore.EventControllerSource.Console);
// mark handled to prevent loop call
GetTree().SetInputAsHandled();
}
if (@event.IsActionPressed("ballance_chat")) {
BallanceStalkerCore.StalkerManager.Singleton.SetEventController(BallanceStalkerCore.EventControllerSource.Chat);
// mark handled to prevent loop call
GetTree().SetInputAsHandled();
}
// mouse wheel
if (@event is InputEventMouseButton) {
InputEventMouseButton emb = (InputEventMouseButton)@event;
if (emb.IsPressed()) {
if (emb.ButtonIndex == (int)ButtonList.WheelUp) {
movementScale = Mathf.Clamp(movementScale + 1, 1, 50);
}
if (emb.ButtonIndex == (int)ButtonList.WheelDown) {
movementScale = Mathf.Clamp(movementScale - 1, 1, 50);
}
}
}
// mouse motion
if (@event is InputEventMouseMotion) {
var mov = (InputEventMouseMotion)@event;
lock (lockMotionMouse) {
motionMouse += mov.Relative;
}
}
}
public void SetTrackingTarget(Spatial target) {
if (target is null) {
if (!(mSpecCam is null)) {
// shift off from a player archor, we need move free cam origin to target
mFreeCamOrigin.Translation = mSpecCam.Translation;
}
}
// set cam origin
mSpecCam = target;
}
}
-20
View File
@@ -1,20 +0,0 @@
using Godot;
using System;
public class StalkerCore : Spatial {
// Declare member variables here. Examples:
// private int a = 2;
// private string b = "text";
// Called when the node enters the scene tree for the first time.
public override void _Ready() {
}
// // Called every frame. 'delta' is the elapsed time since the previous frame.
// public override void _Process(float delta)
// {
//
// }
}
-34
View File
@@ -1,34 +0,0 @@
using BallanceStalker;
using Godot;
using System;
public class MenuMain : Control {
[Signal]
public delegate void MenuMain_GotoPage(MenuManager.MenuPage menu_type);
[Signal]
public delegate void MenuMain_Back();
[Signal]
public delegate void MenuMain_Exit();
// Called when the node enters the scene tree for the first time.
public override void _Ready() {
GetNode<ButtonCommon>("MenuList/BtnLoadLevel").Connect("pressed", this, nameof(Proc_GotoPage), new Godot.Collections.Array() { MenuManager.MenuPage.LoadLevel });
GetNode<ButtonCommon>("MenuList/BtnLoadSky").Connect("pressed", this, nameof(Proc_GotoPage), new Godot.Collections.Array() { MenuManager.MenuPage.LoadSky });
GetNode<ButtonCommon>("MenuList/BtnMultiplayer").Connect("pressed", this, nameof(Proc_GotoPage), new Godot.Collections.Array() { MenuManager.MenuPage.Multiplayer });
GetNode<ButtonCommon>("MenuList/BtnAbout").Connect("pressed", this, nameof(Proc_GotoPage), new Godot.Collections.Array() { MenuManager.MenuPage.About });
GetNode<ButtonCommon>("MenuList/BtnBack").Connect("pressed", this, nameof(Proc_Back));
GetNode<ButtonCommon>("MenuList/BtnExit").Connect("pressed", this, nameof(Proc_Exit));
}
private void Proc_GotoPage(MenuManager.MenuPage menu_type) {
EmitSignal(nameof(MenuMain_GotoPage), menu_type);
}
private void Proc_Back() {
EmitSignal(nameof(MenuMain_Back));
}
private void Proc_Exit() {
EmitSignal(nameof(MenuMain_Exit));
}
}
-10
View File
@@ -1,10 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BallanceStalkerCore {
public class LogManager {
}
}
-55
View File
@@ -1,55 +0,0 @@
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BallanceStalkerCore {
public enum EventControllerSource {
/// <summary>
/// Default statue. It mean that we are now in camera mode.
/// </summary>
None,
/// <summary>
/// Menu take control of event input
/// </summary>
Menu,
/// <summary>
/// Console panel now take control of event input.
/// </summary>
Console,
/// <summary>
/// it is same as console, the only different is preset character
/// </summary>
Chat
}
public class StalkerManager {
public static StalkerManager Singleton = new StalkerManager();
private StalkerManager() {
mEventController = EventControllerSource.None;
mLogger = new LogManager();
mBmmoClient = new BmmoClient(mLogger);
}
public event Action<EventControllerSource> EventControllerChanged;
private EventControllerSource mEventController;
public BmmoClient mBmmoClient;
public LogManager mLogger;
public void SetEventController(EventControllerSource src) {
if (mEventController != src) {
mEventController = src;
}
EventControllerChanged?.Invoke(src);
}
public EventControllerSource GetEventController() {
return mEventController;
}
}
}
-16
View File
@@ -1,16 +0,0 @@
using Godot;
using System;
public class ButtonCommon : Button
{
AudioStreamPlayer audio;
public override void _Ready() {
this.Connect("pressed", this, nameof(event_Btn_pressed));
audio = GetNode<AudioStreamPlayer>("AudioClick");
}
private void event_Btn_pressed() {
audio.Play();
}
}
-39
View File
@@ -1,39 +0,0 @@
using Godot;
using System;
public class LabelConsole : Control {
Label mRealLabel;
// Called when the node enters the scene tree for the first time.
public override void _Ready() {
mRealLabel = GetNode<Label>("RealLabel");
mRealLabel.Connect("item_rect_changed", this, nameof(Proc_Label_ItemRectChanged));
}
public void SetText(string strl, LabelConsoleMessageType t) {
mRealLabel.Text = strl;
switch (t) {
case LabelConsoleMessageType.Normal:
mRealLabel.Modulate = Colors.White;
break;
case LabelConsoleMessageType.Highlight:
mRealLabel.Modulate = Colors.Yellow;
break;
case LabelConsoleMessageType.Error:
mRealLabel.Modulate = Colors.OrangeRed;
break;
}
this.RectMinSize = new Vector2(0, (mRealLabel.GetLineHeight() + mRealLabel.GetConstant("line_spacing")) * mRealLabel.GetLineCount());
}
private void Proc_Label_ItemRectChanged() {
this.RectMinSize = new Vector2(0, (mRealLabel.GetLineHeight() + mRealLabel.GetConstant("line_spacing")) * mRealLabel.GetLineCount());
}
// // Called every frame. 'delta' is the elapsed time since the previous frame.
// public override void _Process(float delta)
// {
//
// }
}
File renamed without changes.
+41
View File
@@ -0,0 +1,41 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31702.278
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BallanceStalker", "BallanceStalker.csproj", "{55B5D158-D2E5-4A32-9C96-5878BD379AD3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "debug_proj", "debug_proj\debug_proj.csproj", "{A203405D-3F18-4890-8DFC-8752E2BE8225}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
ExportDebug|Any CPU = ExportDebug|Any CPU
ExportRelease|Any CPU = ExportRelease|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.Release|Any CPU.ActiveCfg = ExportRelease|Any CPU
{55B5D158-D2E5-4A32-9C96-5878BD379AD3}.Release|Any CPU.Build.0 = ExportRelease|Any CPU
{A203405D-3F18-4890-8DFC-8752E2BE8225}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A203405D-3F18-4890-8DFC-8752E2BE8225}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A203405D-3F18-4890-8DFC-8752E2BE8225}.ExportDebug|Any CPU.ActiveCfg = Debug|Any CPU
{A203405D-3F18-4890-8DFC-8752E2BE8225}.ExportDebug|Any CPU.Build.0 = Debug|Any CPU
{A203405D-3F18-4890-8DFC-8752E2BE8225}.ExportRelease|Any CPU.ActiveCfg = Release|Any CPU
{A203405D-3F18-4890-8DFC-8752E2BE8225}.ExportRelease|Any CPU.Build.0 = Release|Any CPU
{A203405D-3F18-4890-8DFC-8752E2BE8225}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A203405D-3F18-4890-8DFC-8752E2BE8225}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0F74F6BC-8B1F-4D22-808E-4580D119177C}
EndGlobalSection
EndGlobal
+33
View File
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{B83A5A30-7D9A-4BCC-BB56-2974A2AAE767}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>DebugProj</RootNamespace>
<AssemblyName>DebugProj</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<ProjectTypeGuids>{8F3E2DF0-C35C-4265-82FC-BEA011F4A7ED};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\*.csproj">
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
+1 -1
View File
@@ -11,7 +11,7 @@ config_version=4
[application]
config/name="BallanceStalker"
run/main_scene="res://scenes/GameRoot.tscn"
run/main_scene="res://scenes/StalkerBase.tscn"
config/icon="res://resources/icons/icon.png"
[display]
File renamed without changes.
File renamed without changes.
@@ -1,19 +1,19 @@
[gd_resource type="Theme" load_steps=15 format=2]
[ext_resource path="res://resources/user_interface/textures/vscrollbar-scroll-select.png" type="Texture" id=1]
[ext_resource path="res://resources/user_interface/textures/vscrollbar-grabber-select.png" type="Texture" id=2]
[ext_resource path="res://resources/user_interface/textures/vscrollbar-grabber-deselect.png" type="Texture" id=3]
[ext_resource path="res://resources/user_interface/textures/vscrollbar-scroll-deselect.png" type="Texture" id=4]
[ext_resource path="res://resources/user_interface/textures/hslider-grabber-deselect.png" type="Texture" id=5]
[ext_resource path="res://resources/user_interface/textures/hslider-grabber-select.png" type="Texture" id=6]
[ext_resource path="res://resources/user_interface/textures/hslider-slider.png" type="Texture" id=7]
[ext_resource path="res://resources/textures/gui/hslider-grabber-select.png" type="Texture" id=1]
[ext_resource path="res://resources/textures/gui/vscrollbar-scroll-select.png" type="Texture" id=2]
[ext_resource path="res://resources/textures/gui/vscrollbar-grabber-select.png" type="Texture" id=3]
[ext_resource path="res://resources/textures/gui/vscrollbar-grabber-deselect.png" type="Texture" id=4]
[ext_resource path="res://resources/textures/gui/hslider-grabber-deselect.png" type="Texture" id=5]
[ext_resource path="res://resources/textures/gui/hslider-slider.png" type="Texture" id=6]
[ext_resource path="res://resources/textures/gui/vscrollbar-scroll-deselect.png" type="Texture" id=7]
[sub_resource type="StyleBoxEmpty" id=1]
[sub_resource type="StyleBoxEmpty" id=2]
[sub_resource type="StyleBoxTexture" id=3]
texture = ExtResource( 7 )
texture = ExtResource( 6 )
region_rect = Rect2( 0, 0, 64, 32 )
margin_left = 1.0
margin_right = 1.0
@@ -21,7 +21,7 @@ margin_top = 14.0
margin_bottom = 14.0
[sub_resource type="StyleBoxTexture" id=4]
texture = ExtResource( 3 )
texture = ExtResource( 4 )
region_rect = Rect2( 0, 0, 32, 64 )
margin_left = 13.0
margin_right = 13.0
@@ -29,7 +29,7 @@ margin_top = 3.0
margin_bottom = 3.0
[sub_resource type="StyleBoxTexture" id=5]
texture = ExtResource( 2 )
texture = ExtResource( 3 )
region_rect = Rect2( 0, 0, 32, 64 )
margin_left = 13.0
margin_right = 13.0
@@ -37,7 +37,7 @@ margin_top = 3.0
margin_bottom = 3.0
[sub_resource type="StyleBoxTexture" id=6]
texture = ExtResource( 4 )
texture = ExtResource( 7 )
region_rect = Rect2( 0, 0, 32, 64 )
margin_left = 11.0
margin_right = 11.0
@@ -45,7 +45,7 @@ margin_top = 1.0
margin_bottom = 1.0
[sub_resource type="StyleBoxTexture" id=7]
texture = ExtResource( 1 )
texture = ExtResource( 2 )
region_rect = Rect2( 0, 0, 32, 64 )
margin_left = 11.0
margin_right = 11.0
@@ -55,7 +55,7 @@ margin_bottom = 1.0
[resource]
HSlider/icons/grabber = ExtResource( 5 )
HSlider/icons/grabber_disabled = ExtResource( 5 )
HSlider/icons/grabber_highlight = ExtResource( 6 )
HSlider/icons/grabber_highlight = ExtResource( 1 )
HSlider/icons/tick = null
HSlider/styles/grabber_area = SubResource( 1 )
HSlider/styles/grabber_area_highlight = SubResource( 2 )
File renamed without changes.
+9
View File
@@ -0,0 +1,9 @@
[gd_resource type="DynamicFont" load_steps=3 format=2]
[ext_resource path="res://resources/fonts/font_SquarishSansCT.tres" type="DynamicFontData" id=1]
[ext_resource path="res://resources/fonts/font_SourceHanSansCN.tres" type="DynamicFontData" id=2]
[resource]
size = 12
font_data = ExtResource( 1 )
fallback/0 = ExtResource( 2 )
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,21 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/btn_click.wav-250737dca1a0428929c92b4ab8e70e0b.sample"
[deps]
source_file="res://resources/soundeffects/gui/btn_click.wav"
dest_files=[ "res://.import/btn_click.wav-250737dca1a0428929c92b4ab8e70e0b.sample" ]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop=false
compress/mode=0
@@ -0,0 +1,11 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/textures/gui/btn-small-deselect.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
region_rect = Rect2( 0, 0, 64, 32 )
margin_left = 14.1409
margin_right = 12.785
margin_top = 13.5598
margin_bottom = 13.3661
@@ -1,6 +1,6 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/user_interface/textures/btn-small-select.png" type="Texture" id=1]
[ext_resource path="res://resources/textures/gui/btn-small-select.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
@@ -1,6 +1,6 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/user_interface/textures/btn_deselect.png" type="Texture" id=1]
[ext_resource path="res://resources/textures/gui/btn_deselect.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
@@ -1,6 +1,6 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/user_interface/textures/btn_select.png" type="Texture" id=1]
[ext_resource path="res://resources/textures/gui/btn_select.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
@@ -0,0 +1,7 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/textures/gui/lineedit_borderless_deselect.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
region_rect = Rect2( 0, 0, 64, 32 )
@@ -0,0 +1,7 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/textures/gui/lineedit_borderless_select.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
region_rect = Rect2( 0, 0, 64, 32 )
@@ -0,0 +1,11 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/textures/gui/lineedit_deselect.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
region_rect = Rect2( 0, 0, 64, 32 )
margin_left = 14.1409
margin_right = 12.785
margin_top = 13.5598
margin_bottom = 13.3661
@@ -1,6 +1,6 @@
[gd_resource type="StyleBoxTexture" load_steps=2 format=2]
[ext_resource path="res://resources/user_interface/textures/lineedit_select.png" type="Texture" id=1]
[ext_resource path="res://resources/textures/gui/lineedit_select.png" type="Texture" id=1]
[resource]
texture = ExtResource( 1 )
@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/btn-small-deselect.png-d715a7f5faa567d48116fddb4bffad5c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/textures/gui/btn-small-deselect.png"
dest_files=[ "res://.import/btn-small-deselect.png-d715a7f5faa567d48116fddb4bffad5c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/btn-small-select.png-be8ec72b83327ac478a6b9c59d2a7563.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/textures/gui/btn-small-select.png"
dest_files=[ "res://.import/btn-small-select.png-be8ec72b83327ac478a6b9c59d2a7563.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
@@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
path="res://.import/btn_deselect.png-00b7f2eab9128d91c7c719e4f6685df5.stex"
path="res://.import/btn_deselect.png-f4c23ea1e7ff312deabd84b69eb24168.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/btn_deselect.png"
dest_files=[ "res://.import/btn_deselect.png-00b7f2eab9128d91c7c719e4f6685df5.stex" ]
source_file="res://resources/textures/gui/btn_deselect.png"
dest_files=[ "res://.import/btn_deselect.png-f4c23ea1e7ff312deabd84b69eb24168.stex" ]
[params]
@@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
path="res://.import/btn_select.png-9d750292de91408d67d9b5679d5e14ad.stex"
path="res://.import/btn_select.png-b16231b52adc557127984e6d58e1572a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/btn_select.png"
dest_files=[ "res://.import/btn_select.png-9d750292de91408d67d9b5679d5e14ad.stex" ]
source_file="res://resources/textures/gui/btn_select.png"
dest_files=[ "res://.import/btn_select.png-b16231b52adc557127984e6d58e1572a.stex" ]
[params]
@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/hslider-grabber-deselect.png-eb176a60004bc9dd86185e925bada1ca.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/textures/gui/hslider-grabber-deselect.png"
dest_files=[ "res://.import/hslider-grabber-deselect.png-eb176a60004bc9dd86185e925bada1ca.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
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
process/normal_map_invert_y=false
stream=false
size_limit=0
detect_3d=false
svg/scale=1.0
@@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
path="res://.import/btn-small-deselect.png-50de40a7a56e5cc7a3f77da3a18182dc.stex"
path="res://.import/hslider-grabber-select.png-f38b699d41ad00ae1de0bbbb40c0cd2e.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/btn-small-deselect.png"
dest_files=[ "res://.import/btn-small-deselect.png-50de40a7a56e5cc7a3f77da3a18182dc.stex" ]
source_file="res://resources/textures/gui/hslider-grabber-select.png"
dest_files=[ "res://.import/hslider-grabber-select.png-f38b699d41ad00ae1de0bbbb40c0cd2e.stex" ]
[params]
@@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
path="res://.import/hslider-slider.png-e3144ca0191d69c66b3b6002e961fae8.stex"
path="res://.import/hslider-slider.png-3eb2d7a672c3fa1416391d0279e35945.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/hslider-slider.png"
dest_files=[ "res://.import/hslider-slider.png-e3144ca0191d69c66b3b6002e961fae8.stex" ]
source_file="res://resources/textures/gui/hslider-slider.png"
dest_files=[ "res://.import/hslider-slider.png-3eb2d7a672c3fa1416391d0279e35945.stex" ]
[params]
@@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
path="res://.import/lineedit_borderless_deselect.png-5a57d2f0a83a0ea3163638365fbb072b.stex"
path="res://.import/lineedit_borderless_deselect.png-72e2e66dc3a8de40ef8cbd9b3b5162e7.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/lineedit_borderless_deselect.png"
dest_files=[ "res://.import/lineedit_borderless_deselect.png-5a57d2f0a83a0ea3163638365fbb072b.stex" ]
source_file="res://resources/textures/gui/lineedit_borderless_deselect.png"
dest_files=[ "res://.import/lineedit_borderless_deselect.png-72e2e66dc3a8de40ef8cbd9b3b5162e7.stex" ]
[params]
@@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
path="res://.import/lineedit_borderless_select.png-4aee58b7e500decf6960fa056582c12d.stex"
path="res://.import/lineedit_borderless_select.png-60af708dfafe45ec5c1a02982e459da8.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resources/user_interface/textures/lineedit_borderless_select.png"
dest_files=[ "res://.import/lineedit_borderless_select.png-4aee58b7e500decf6960fa056582c12d.stex" ]
source_file="res://resources/textures/gui/lineedit_borderless_select.png"
dest_files=[ "res://.import/lineedit_borderless_select.png-60af708dfafe45ec5c1a02982e459da8.stex" ]
[params]
Loaded 100 of 151 files, more files were not shown because too many files have changed in this diff. Show more