Compare commits
No commits in common. "1828ebbe21514400c682e4e70d1624da79daa2d8" and "31c715db98d9d9c51b77c14d4741738f938ea96b" have entirely different histories.
1828ebbe21
...
31c715db98
12
.gitignore
vendored
12
.gitignore
vendored
|
@ -5,16 +5,10 @@
|
||||||
# When configure fails, SCons outputs these
|
# When configure fails, SCons outputs these
|
||||||
config.log
|
config.log
|
||||||
.sconf_temp
|
.sconf_temp
|
||||||
.config
|
|
||||||
|
|
||||||
# build artefacts
|
|
||||||
.cache/
|
|
||||||
*.o
|
|
||||||
compile_commands.json
|
|
||||||
|
|
||||||
engine/.github
|
engine/.github
|
||||||
project/.godot
|
project/.godot
|
||||||
build/authority.pck
|
build/PROJECT.pck
|
||||||
build/authority.x86_64
|
build/PROJECT.x86_64
|
||||||
build/authority.exe
|
build/PROJECT.exe
|
||||||
build.zip
|
build.zip
|
||||||
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
||||||
[submodule "engine"]
|
|
||||||
path = engine
|
|
||||||
url = https://github.com/godotengine/godot.git
|
|
1
engine
1
engine
|
@ -1 +0,0 @@
|
||||||
Subproject commit e531f3eb7b13a9adaaf5b15ac9b3aebc4c2030cd
|
|
34
justfile
34
justfile
|
@ -1,46 +1,34 @@
|
||||||
set export
|
set export
|
||||||
|
|
||||||
BUILD_NAME := "authority"
|
BUILD_NAME := "change_me"
|
||||||
|
|
||||||
|
release_template_path_linux := `realpath engine/bin/godot.linuxbsd.template_release.x86_64.llvm`
|
||||||
|
release_template_path_windows := `realpath engine/bin/godot.windows.template_release.x86_64.llvm`
|
||||||
|
|
||||||
build: format
|
build:
|
||||||
# Compiling Editor
|
cd engine/ && scons target=editor symbols=yes optimization=debug dev_build=yes linker=mold use_llvm=yes compiledb=yes
|
||||||
cd engine/ && scons target=editor symbols=yes optimization=debug dev_build=yes linker=mold use_llvm=yes compiledb=yes custom_modules="../modules"
|
|
||||||
|
|
||||||
run: build
|
run: build
|
||||||
# Running Editor
|
|
||||||
engine/bin/godot.linuxbsd.editor.dev.x86_64.llvm --editor --path project
|
engine/bin/godot.linuxbsd.editor.dev.x86_64.llvm --editor --path project
|
||||||
|
|
||||||
release-linux: build
|
release-linux: build
|
||||||
# Compiling Linux Release
|
|
||||||
cd engine/ && scons platform=linuxbsd target=template_release arch=x86_64 linker=mold use_llvm=yes compiledb=yes custom_modules="../modules"
|
cd engine/ && scons platform=linuxbsd target=template_release arch=x86_64 linker=mold use_llvm=yes compiledb=yes custom_modules="../modules"
|
||||||
# Preparing Build Environment
|
sed -i "s!{path}!{{release_template_path_linux}}!" project/export_presets.cfg
|
||||||
sed -i "s!templatepath!{{`realpath engine/bin/godot.linuxbsd.template_release.x86_64.llvm`}}!" project/export_presets.cfg
|
|
||||||
rm -rf build && mkdir build
|
rm -rf build && mkdir build
|
||||||
engine/bin/godot.*.editor.dev.*.llvm --headless --export-release "Linux" project/project.godot && zip build.zip build/*
|
engine/bin/godot.*.editor.dev.*.llvm --headless --export-release "Linux" project/project.godot && zip build.zip build/*
|
||||||
# Resetting Build Environment
|
|
||||||
touch build/.gitkeep
|
touch build/.gitkeep
|
||||||
sed -i "s!{{`realpath engine/bin/godot.linuxbsd.template_release.x86_64.llvm`}}!templatepath!" project/export_presets.cfg
|
sed -i "s!{{release_template_path_linux}}!{path}!" project/export_presets.cfg
|
||||||
# Completed Linux Release Build
|
|
||||||
|
|
||||||
release-windows: build
|
release-windows: build
|
||||||
# Compiling Windows Release
|
|
||||||
cd engine/ && scons platform=windows target=template_release arch=x86_64 linker=mold use_llvm=yes compiledb=yes custom_modules="../modules"
|
cd engine/ && scons platform=windows target=template_release arch=x86_64 linker=mold use_llvm=yes compiledb=yes custom_modules="../modules"
|
||||||
# Preparing Build Environment
|
sed -i "s!{path}!{{release_template_path_windows}}!" project/export_presets.cfg
|
||||||
sed -i "s!templatepath!{{`realpath engine/bin/godot.windows.template_release.x86_64.llvm`}}!" project/export_presets.cfg
|
|
||||||
rm -rf build && mkdir build
|
rm -rf build && mkdir build
|
||||||
engine/bin/godot.*.editor.dev.*.llvm --headless --export-release "Windows" project/project.godot && zip build.zip build/*
|
engine/bin/godot.*.editor.dev.*.llvm --headless --export-release "Windows" project/project.godot && zip build.zip build/*
|
||||||
# Resetting Build Environment
|
touch build/.gitkeep
|
||||||
touch build/.gitkeep
|
sed -i "s!{{release_template_path_windows}}!{path}!" project/export_presets.cfg
|
||||||
sed -i "s!{{`realpath engine/bin/godot.windows.template_release.x86_64.llvm`}}!templatepath!" project/export_presets.cfg
|
|
||||||
# Completed Windows Release Build
|
|
||||||
|
|
||||||
initialize-template projectname:
|
initialize-template projectname:
|
||||||
# Initializing Template {{projectname}}
|
|
||||||
sed -i -e "s/PROJECT/{{projectname}}/g" ./modules/PROJECT/register_types.h ./modules/PROJECT/register_types.cpp ./project/project.godot ./project/export_presets.cfg .gitignore
|
sed -i -e "s/PROJECT/{{projectname}}/g" ./modules/PROJECT/register_types.h ./modules/PROJECT/register_types.cpp ./project/project.godot ./project/export_presets.cfg .gitignore
|
||||||
sed "s/change_me/{{projectname}}/" ./justfile
|
sed "s/change_me/{{projectname}}/" ./justfile
|
||||||
mv ./modules/PROJECT ./modules/{{projectname}}
|
mv ./modules/PROJECT ./modules/{{projectname}}
|
||||||
# Done Initializing, you will still have to update BUILD_NAME in your justfile
|
|
||||||
|
|
||||||
format:
|
|
||||||
# Formatting Custom Modules
|
|
||||||
clang-format -i $(find modules/ -iname '*.h' -o -iname '*.c' -o -iname '*.hpp' -o -iname '*.cpp' -o -iname '*.hxx' -o -iname '*.cxx')
|
|
||||||
|
|
|
@ -1,238 +0,0 @@
|
||||||
# Commented out parameters are those with the same value as base LLVM style.
|
|
||||||
# We can uncomment them if we want to change their value, or enforce the
|
|
||||||
# chosen value in case the base style changes (last sync: Clang 17.0.6).
|
|
||||||
BasedOnStyle: LLVM
|
|
||||||
AccessModifierOffset: -4
|
|
||||||
AlignAfterOpenBracket: DontAlign
|
|
||||||
# AlignArrayOfStructures: None
|
|
||||||
# AlignConsecutiveAssignments:
|
|
||||||
# Enabled: false
|
|
||||||
# AcrossEmptyLines: false
|
|
||||||
# AcrossComments: false
|
|
||||||
# AlignCompound: false
|
|
||||||
# PadOperators: true
|
|
||||||
# AlignConsecutiveBitFields:
|
|
||||||
# Enabled: false
|
|
||||||
# AcrossEmptyLines: false
|
|
||||||
# AcrossComments: false
|
|
||||||
# AlignCompound: false
|
|
||||||
# PadOperators: false
|
|
||||||
# AlignConsecutiveDeclarations:
|
|
||||||
# Enabled: false
|
|
||||||
# AcrossEmptyLines: false
|
|
||||||
# AcrossComments: false
|
|
||||||
# AlignCompound: false
|
|
||||||
# PadOperators: false
|
|
||||||
# AlignConsecutiveMacros:
|
|
||||||
# Enabled: false
|
|
||||||
# AcrossEmptyLines: false
|
|
||||||
# AcrossComments: false
|
|
||||||
# AlignCompound: false
|
|
||||||
# PadOperators: false
|
|
||||||
# AlignConsecutiveShortCaseStatements:
|
|
||||||
# Enabled: false
|
|
||||||
# AcrossEmptyLines: false
|
|
||||||
# AcrossComments: false
|
|
||||||
# AlignCaseColons: false
|
|
||||||
# AlignEscapedNewlines: Right
|
|
||||||
AlignOperands: DontAlign
|
|
||||||
AlignTrailingComments:
|
|
||||||
Kind: Never
|
|
||||||
OverEmptyLines: 0
|
|
||||||
# AllowAllArgumentsOnNextLine: true
|
|
||||||
AllowAllParametersOfDeclarationOnNextLine: false
|
|
||||||
# AllowShortBlocksOnASingleLine: Never
|
|
||||||
# AllowShortCaseLabelsOnASingleLine: false
|
|
||||||
# AllowShortEnumsOnASingleLine: true
|
|
||||||
AllowShortFunctionsOnASingleLine: Inline
|
|
||||||
# AllowShortIfStatementsOnASingleLine: Never
|
|
||||||
# AllowShortLambdasOnASingleLine: All
|
|
||||||
# AllowShortLoopsOnASingleLine: false
|
|
||||||
# AlwaysBreakAfterDefinitionReturnType: None
|
|
||||||
# AlwaysBreakAfterReturnType: None
|
|
||||||
# AlwaysBreakBeforeMultilineStrings: false
|
|
||||||
# AlwaysBreakTemplateDeclarations: MultiLine
|
|
||||||
# AttributeMacros:
|
|
||||||
# - __capability
|
|
||||||
# BinPackArguments: true
|
|
||||||
# BinPackParameters: true
|
|
||||||
# BitFieldColonSpacing: Both
|
|
||||||
# BraceWrapping:
|
|
||||||
# AfterCaseLabel: false
|
|
||||||
# AfterClass: false
|
|
||||||
# AfterControlStatement: Never
|
|
||||||
# AfterEnum: false
|
|
||||||
# AfterFunction: false
|
|
||||||
# AfterNamespace: false
|
|
||||||
# AfterObjCDeclaration: false
|
|
||||||
# AfterStruct: false
|
|
||||||
# AfterUnion: false
|
|
||||||
# AfterExternBlock: false
|
|
||||||
# BeforeCatch: false
|
|
||||||
# BeforeElse: false
|
|
||||||
# BeforeLambdaBody: false
|
|
||||||
# BeforeWhile: false
|
|
||||||
# IndentBraces: false
|
|
||||||
# SplitEmptyFunction: true
|
|
||||||
# SplitEmptyRecord: true
|
|
||||||
# SplitEmptyNamespace: true
|
|
||||||
# BreakAfterAttributes: Never
|
|
||||||
# BreakAfterJavaFieldAnnotations: false
|
|
||||||
# BreakArrays: true
|
|
||||||
# BreakBeforeBinaryOperators: None
|
|
||||||
# BreakBeforeBraces: Attach
|
|
||||||
# BreakBeforeConceptDeclarations: Always
|
|
||||||
# BreakBeforeInlineASMColon: OnlyMultiline
|
|
||||||
# BreakBeforeTernaryOperators: true
|
|
||||||
BreakConstructorInitializers: AfterColon
|
|
||||||
# BreakInheritanceList: BeforeColon
|
|
||||||
# BreakStringLiterals: true
|
|
||||||
ColumnLimit: 0
|
|
||||||
# CommentPragmas: "^ IWYU pragma:"
|
|
||||||
# CompactNamespaces: false
|
|
||||||
ConstructorInitializerIndentWidth: 8
|
|
||||||
ContinuationIndentWidth: 8
|
|
||||||
Cpp11BracedListStyle: false
|
|
||||||
# DerivePointerAlignment: false
|
|
||||||
# DisableFormat: false
|
|
||||||
# EmptyLineAfterAccessModifier: Never
|
|
||||||
# EmptyLineBeforeAccessModifier: LogicalBlock
|
|
||||||
# ExperimentalAutoDetectBinPacking: false
|
|
||||||
# FixNamespaceComments: true
|
|
||||||
# ForEachMacros:
|
|
||||||
# - foreach
|
|
||||||
# - Q_FOREACH
|
|
||||||
# - BOOST_FOREACH
|
|
||||||
# IfMacros:
|
|
||||||
# - KJ_IF_MAYBE
|
|
||||||
# IncludeBlocks: Preserve
|
|
||||||
IncludeCategories:
|
|
||||||
- Regex: ^".*"$
|
|
||||||
Priority: 1
|
|
||||||
- Regex: ^<.*\.h>$
|
|
||||||
Priority: 2
|
|
||||||
- Regex: ^<.*>$
|
|
||||||
Priority: 3
|
|
||||||
# IncludeIsMainRegex: (Test)?$
|
|
||||||
# IncludeIsMainSourceRegex: ""
|
|
||||||
# IndentAccessModifiers: false
|
|
||||||
# IndentCaseBlocks: false
|
|
||||||
IndentCaseLabels: true
|
|
||||||
# IndentExternBlock: AfterExternBlock
|
|
||||||
# IndentGotoLabels: true
|
|
||||||
# IndentPPDirectives: None
|
|
||||||
# IndentRequiresClause: true
|
|
||||||
IndentWidth: 4
|
|
||||||
# IndentWrappedFunctionNames: false
|
|
||||||
InsertBraces: true
|
|
||||||
# InsertNewlineAtEOF: false
|
|
||||||
# InsertTrailingCommas: None
|
|
||||||
# IntegerLiteralSeparator:
|
|
||||||
# Binary: 0
|
|
||||||
# BinaryMinDigits: 0
|
|
||||||
# Decimal: 0
|
|
||||||
# DecimalMinDigits: 0
|
|
||||||
# Hex: 0
|
|
||||||
# HexMinDigits: 0
|
|
||||||
JavaImportGroups:
|
|
||||||
- org.godotengine
|
|
||||||
- android
|
|
||||||
- androidx
|
|
||||||
- com.android
|
|
||||||
- com.google
|
|
||||||
- java
|
|
||||||
- javax
|
|
||||||
# JavaScriptQuotes: Leave
|
|
||||||
# JavaScriptWrapImports: true
|
|
||||||
# KeepEmptyLinesAtEOF: false
|
|
||||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
||||||
# LambdaBodyIndentation: Signature
|
|
||||||
# Language: Cpp
|
|
||||||
# LineEnding: DeriveLF
|
|
||||||
# MacroBlockBegin: ""
|
|
||||||
# MacroBlockEnd: ""
|
|
||||||
# MaxEmptyLinesToKeep: 1
|
|
||||||
# NamespaceIndentation: None
|
|
||||||
# ObjCBinPackProtocolList: Auto
|
|
||||||
ObjCBlockIndentWidth: 4
|
|
||||||
# ObjCBreakBeforeNestedBlockParam: true
|
|
||||||
# ObjCSpaceAfterProperty: false
|
|
||||||
# ObjCSpaceBeforeProtocolList: true
|
|
||||||
# PPIndentWidth: -1
|
|
||||||
PackConstructorInitializers: NextLine
|
|
||||||
# PenaltyBreakAssignment: 2
|
|
||||||
# PenaltyBreakBeforeFirstCallParameter: 19
|
|
||||||
# PenaltyBreakComment: 300
|
|
||||||
# PenaltyBreakFirstLessLess: 120
|
|
||||||
# PenaltyBreakOpenParenthesis: 0
|
|
||||||
# PenaltyBreakString: 1000
|
|
||||||
# PenaltyBreakTemplateDeclaration: 10
|
|
||||||
# PenaltyExcessCharacter: 1000000
|
|
||||||
# PenaltyIndentedWhitespace: 0
|
|
||||||
# PenaltyReturnTypeOnItsOwnLine: 60
|
|
||||||
# PointerAlignment: Right
|
|
||||||
# QualifierAlignment: Leave
|
|
||||||
# ReferenceAlignment: Pointer
|
|
||||||
# ReflowComments: true
|
|
||||||
# RemoveBracesLLVM: false
|
|
||||||
# RemoveParentheses: Leave
|
|
||||||
RemoveSemicolon: true
|
|
||||||
# RequiresClausePosition: OwnLine
|
|
||||||
# RequiresExpressionIndentation: OuterScope
|
|
||||||
# SeparateDefinitionBlocks: Leave
|
|
||||||
# ShortNamespaceLines: 1
|
|
||||||
# SortIncludes: CaseSensitive
|
|
||||||
# SortJavaStaticImport: Before
|
|
||||||
# SortUsingDeclarations: LexicographicNumeric
|
|
||||||
# SpaceAfterCStyleCast: false
|
|
||||||
# SpaceAfterLogicalNot: false
|
|
||||||
# SpaceAfterTemplateKeyword: true
|
|
||||||
# SpaceAroundPointerQualifiers: Default
|
|
||||||
# SpaceBeforeAssignmentOperators: true
|
|
||||||
# SpaceBeforeCaseColon: false
|
|
||||||
# SpaceBeforeCpp11BracedList: false
|
|
||||||
# SpaceBeforeCtorInitializerColon: true
|
|
||||||
# SpaceBeforeInheritanceColon: true
|
|
||||||
# SpaceBeforeJsonColon: false
|
|
||||||
# SpaceBeforeParens: ControlStatements
|
|
||||||
# SpaceBeforeParensOptions:
|
|
||||||
# AfterControlStatements: true
|
|
||||||
# AfterForeachMacros: true
|
|
||||||
# AfterFunctionDeclarationName: false
|
|
||||||
# AfterFunctionDefinitionName: false
|
|
||||||
# AfterIfMacros: true
|
|
||||||
# AfterOverloadedOperator: false
|
|
||||||
# AfterRequiresInClause: false
|
|
||||||
# AfterRequiresInExpression: false
|
|
||||||
# BeforeNonEmptyParentheses: false
|
|
||||||
# SpaceBeforeRangeBasedForLoopColon: true
|
|
||||||
# SpaceBeforeSquareBrackets: false
|
|
||||||
# SpaceInEmptyBlock: false
|
|
||||||
# SpacesBeforeTrailingComments: 1
|
|
||||||
# SpacesInAngles: Never
|
|
||||||
# SpacesInContainerLiterals: true
|
|
||||||
SpacesInLineCommentPrefix:
|
|
||||||
Minimum: 0 # We want a minimum of 1 for comments, but allow 0 for disabled code.
|
|
||||||
Maximum: -1
|
|
||||||
# SpacesInParens: Never
|
|
||||||
# SpacesInParensOptions:
|
|
||||||
# InConditionalStatements: false
|
|
||||||
# InCStyleCasts: false
|
|
||||||
# InEmptyParentheses: false
|
|
||||||
# Other: false
|
|
||||||
# SpacesInSquareBrackets: false
|
|
||||||
Standard: c++20
|
|
||||||
# StatementAttributeLikeMacros:
|
|
||||||
# - Q_EMIT
|
|
||||||
# StatementMacros:
|
|
||||||
# - Q_UNUSED
|
|
||||||
# - QT_REQUIRE_VERSION
|
|
||||||
TabWidth: 4
|
|
||||||
UseTab: Always
|
|
||||||
# VerilogBreakBetweenInstancePorts: true
|
|
||||||
# WhitespaceSensitiveMacros:
|
|
||||||
# - BOOST_PP_STRINGIZE
|
|
||||||
# - CF_SWIFT_NAME
|
|
||||||
# - NS_SWIFT_NAME
|
|
||||||
# - PP_STRINGIZE
|
|
||||||
# - STRINGIZE
|
|
16
modules/PROJECT/macros.h
Normal file
16
modules/PROJECT/macros.h
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef GODOT_EXTRA_MACROS_H
|
||||||
|
#define GODOT_EXTRA_MACROS_H
|
||||||
|
|
||||||
|
#define BIND_GET_SET(m_property)\
|
||||||
|
ClassDB::bind_method(D_METHOD("set_" #m_property, #m_property), &self_type::set_##m_property);\
|
||||||
|
ClassDB::bind_method(D_METHOD("get_" #m_property), &self_type::get_##m_property)
|
||||||
|
|
||||||
|
#define BIND_HPROPERTY(m_type, m_property, ...)\
|
||||||
|
BIND_GET_SET(m_property);\
|
||||||
|
ADD_PROPERTY(PropertyInfo(m_type, #m_property, __VA_ARGS__), "set_" #m_property, "get_" #m_property)
|
||||||
|
|
||||||
|
#define BIND_PROPERTY(m_type, m_property)\
|
||||||
|
BIND_GET_SET(m_property);\
|
||||||
|
ADD_PROPERTY(PropertyInfo(m_type, #m_property), "set_" #m_property, "get_" #m_property)
|
||||||
|
|
||||||
|
#endif // !GODOT_EXTRA_MACROS_H
|
15
modules/PROJECT/register_types.cpp
Normal file
15
modules/PROJECT/register_types.cpp
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#include "register_types.h"
|
||||||
|
|
||||||
|
#include "core/object/class_db.h"
|
||||||
|
|
||||||
|
void initialize_PROJECT_module(ModuleInitializationLevel p_level) {
|
||||||
|
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void uninitialize_PROJECT_module(ModuleInitializationLevel p_level) {
|
||||||
|
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
9
modules/PROJECT/register_types.h
Normal file
9
modules/PROJECT/register_types.h
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#ifndef PROJECT_REGISTER_TYPES_H
|
||||||
|
#define PROJECT_REGISTER_TYPES_H
|
||||||
|
|
||||||
|
#include "modules/register_module_types.h"
|
||||||
|
|
||||||
|
void initialize_PROJECT_module(ModuleInitializationLevel p_level);
|
||||||
|
void uninitialize_PROJECT_module(ModuleInitializationLevel p_level);
|
||||||
|
|
||||||
|
#endif // !PROJECT_REGISTER_TYPES_H
|
Binary file not shown.
|
@ -1,24 +0,0 @@
|
||||||
#include "game_state.h"
|
|
||||||
#include "macros.h"
|
|
||||||
|
|
||||||
void GameState::_bind_methods() {
|
|
||||||
BIND_PROPERTY(Variant::STRING, locale_uid);
|
|
||||||
BIND_PROPERTY(Variant::STRING, locale_entrance_path);
|
|
||||||
}
|
|
||||||
|
|
||||||
void GameState::set_locale_uid(String const &value) {
|
|
||||||
this->locale_uid = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
String GameState::get_locale_uid() const {
|
|
||||||
return this->locale_uid;
|
|
||||||
}
|
|
||||||
|
|
||||||
void GameState::set_locale_entrance_path(String const &value) {
|
|
||||||
this->locale_uid = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
String GameState::get_locale_entrance_path() const {
|
|
||||||
return this->locale_uid;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
#ifndef GAME_STATE_H
|
|
||||||
#define GAME_STATE_H
|
|
||||||
|
|
||||||
#include "core/object/object.h"
|
|
||||||
#include "core/object/class_db.h"
|
|
||||||
|
|
||||||
class GameState : public Object {
|
|
||||||
GDCLASS(GameState, Object);
|
|
||||||
static void _bind_methods();
|
|
||||||
public:
|
|
||||||
static GameState *get_singleton();
|
|
||||||
void set_locale_uid(String const &value);
|
|
||||||
String get_locale_uid() const;
|
|
||||||
void set_locale_entrance_path(String const &value);
|
|
||||||
String get_locale_entrance_path() const;
|
|
||||||
private:
|
|
||||||
String locale_uid{""};
|
|
||||||
String locale_entrance_path{""};
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // !GAME_STATE_H
|
|
|
@ -1,49 +0,0 @@
|
||||||
#include "locale_marker.h"
|
|
||||||
#include "authority/game_state.h"
|
|
||||||
#include "core/config/engine.h"
|
|
||||||
#include "core/input/input_enums.h"
|
|
||||||
#include "macros.h"
|
|
||||||
|
|
||||||
void LocaleMarker::_bind_methods() {
|
|
||||||
BIND_HPROPERTY(Variant::STRING, locale_scene, PROPERTY_HINT_FILE, "*.tscn,*.scn");
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocaleMarker::_notification(int what) {
|
|
||||||
if(Engine::get_singleton()->is_editor_hint()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
switch(what) {
|
|
||||||
default: return;
|
|
||||||
case NOTIFICATION_READY:
|
|
||||||
this->ready();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocaleMarker::ready() {
|
|
||||||
this->connect(this->sig_input_event, callable_mp(this, &self_type::on_input_event));
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocaleMarker::on_input_event(Node *camera, Ref<InputEvent> event, Vector3 position, Vector3 normal, int shape_ind) {
|
|
||||||
Ref<InputEventMouseButton> clicked{event};
|
|
||||||
if(clicked.is_valid() && clicked->get_button_index() == MouseButton::LEFT) {
|
|
||||||
GameState::get_singleton()->set_locale_entrance_path(this->entrance_path);
|
|
||||||
GameState::get_singleton()->set_locale_uid(locale_scene);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocaleMarker::set_locale_scene(String const &path) {
|
|
||||||
this->locale_scene = path;
|
|
||||||
}
|
|
||||||
|
|
||||||
String LocaleMarker::get_locale_scene() const {
|
|
||||||
return this->locale_scene;
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocaleMarker::set_entrance_path(String const &node_path) {
|
|
||||||
this->entrance_path = node_path;
|
|
||||||
}
|
|
||||||
|
|
||||||
String LocaleMarker::get_entrance_path() const {
|
|
||||||
return this->entrance_path;
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
#ifndef LOCALE_MARKER_H
|
|
||||||
#define LOCALE_MARKER_H
|
|
||||||
|
|
||||||
#include "core/input/input_event.h"
|
|
||||||
#include "scene/3d/physics/area_3d.h"
|
|
||||||
#include "scene/main/node.h"
|
|
||||||
|
|
||||||
class LocaleMarker : public Area3D {
|
|
||||||
GDCLASS(LocaleMarker, Area3D);
|
|
||||||
static void _bind_methods();
|
|
||||||
void _notification(int what);
|
|
||||||
void ready();
|
|
||||||
void on_input_event(Node *camera, Ref<InputEvent> event, Vector3 position, Vector3 normal, int shape_ind);
|
|
||||||
public:
|
|
||||||
void set_locale_scene(String const &value);
|
|
||||||
String get_locale_scene() const;
|
|
||||||
void set_entrance_path(String const &value);
|
|
||||||
String get_entrance_path() const;
|
|
||||||
private:
|
|
||||||
String locale_scene{"res://"};
|
|
||||||
String entrance_path{"%"};
|
|
||||||
String const sig_input_event{"input_event"};
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // !LOCALE_MARKER_H
|
|
|
@ -1,20 +0,0 @@
|
||||||
#ifndef GODOT_EXTRA_MACROS_H
|
|
||||||
#define GODOT_EXTRA_MACROS_H
|
|
||||||
|
|
||||||
#define BIND_GET_SET(m_property) \
|
|
||||||
ClassDB::bind_method(D_METHOD("set_" #m_property, #m_property), \
|
|
||||||
&self_type::set_##m_property); \
|
|
||||||
ClassDB::bind_method(D_METHOD("get_" #m_property), \
|
|
||||||
&self_type::get_##m_property)
|
|
||||||
|
|
||||||
#define BIND_HPROPERTY(m_type, m_property, ...) \
|
|
||||||
BIND_GET_SET(m_property); \
|
|
||||||
ADD_PROPERTY(PropertyInfo(m_type, #m_property, __VA_ARGS__), \
|
|
||||||
"set_" #m_property, "get_" #m_property)
|
|
||||||
|
|
||||||
#define BIND_PROPERTY(m_type, m_property) \
|
|
||||||
BIND_GET_SET(m_property); \
|
|
||||||
ADD_PROPERTY(PropertyInfo(m_type, #m_property), "set_" #m_property, \
|
|
||||||
"get_" #m_property)
|
|
||||||
|
|
||||||
#endif // !GODOT_EXTRA_MACROS_H
|
|
|
@ -1,26 +0,0 @@
|
||||||
#include "register_types.h"
|
|
||||||
|
|
||||||
#include "authority/game_state.h"
|
|
||||||
#include "core/config/engine.h"
|
|
||||||
#include "core/object/class_db.h"
|
|
||||||
|
|
||||||
GameState *game_state{nullptr};
|
|
||||||
|
|
||||||
void initialize_authority_module(ModuleInitializationLevel p_level) {
|
|
||||||
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
GDREGISTER_CLASS(GameState);
|
|
||||||
|
|
||||||
game_state = memnew(GameState);
|
|
||||||
Engine::get_singleton()->add_singleton(Engine::Singleton("GameState", GameState::get_singleton()));
|
|
||||||
}
|
|
||||||
|
|
||||||
void uninitialize_authority_module(ModuleInitializationLevel p_level) {
|
|
||||||
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if(game_state) {
|
|
||||||
memdelete(game_state);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
#ifndef authority_REGISTER_TYPES_H
|
|
||||||
#define authority_REGISTER_TYPES_H
|
|
||||||
|
|
||||||
#include "modules/register_module_types.h"
|
|
||||||
|
|
||||||
void initialize_authority_module(ModuleInitializationLevel p_level);
|
|
||||||
void uninitialize_authority_module(ModuleInitializationLevel p_level);
|
|
||||||
|
|
||||||
#endif // !authority_REGISTER_TYPES_H
|
|
|
@ -9,7 +9,7 @@ custom_features=""
|
||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path="../build/authority.x86_64"
|
export_path="../build/PROJECT.x86_64"
|
||||||
patches=PackedStringArray()
|
patches=PackedStringArray()
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
|
@ -21,7 +21,7 @@ script_export_mode=2
|
||||||
[preset.0.options]
|
[preset.0.options]
|
||||||
|
|
||||||
custom_template/debug=""
|
custom_template/debug=""
|
||||||
custom_template/release="templatepath"
|
custom_template/release="{path}"
|
||||||
debug/export_console_wrapper=1
|
debug/export_console_wrapper=1
|
||||||
binary_format/embed_pck=false
|
binary_format/embed_pck=false
|
||||||
texture_format/s3tc_bptc=true
|
texture_format/s3tc_bptc=true
|
||||||
|
@ -45,13 +45,13 @@ rm -rf \"{temp_dir}\""
|
||||||
name="Windows"
|
name="Windows"
|
||||||
platform="Windows Desktop"
|
platform="Windows Desktop"
|
||||||
runnable=true
|
runnable=true
|
||||||
advanced_options=true
|
advanced_options=false
|
||||||
dedicated_server=false
|
dedicated_server=false
|
||||||
custom_features=""
|
custom_features=""
|
||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter=""
|
include_filter=""
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path="../build/authority.exe"
|
export_path="../build/PROJECT.exe"
|
||||||
patches=PackedStringArray()
|
patches=PackedStringArray()
|
||||||
encryption_include_filters=""
|
encryption_include_filters=""
|
||||||
encryption_exclude_filters=""
|
encryption_exclude_filters=""
|
||||||
|
@ -63,7 +63,7 @@ script_export_mode=2
|
||||||
[preset.1.options]
|
[preset.1.options]
|
||||||
|
|
||||||
custom_template/debug=""
|
custom_template/debug=""
|
||||||
custom_template/release="templatepath"
|
custom_template/release="{path}"
|
||||||
debug/export_console_wrapper=1
|
debug/export_console_wrapper=1
|
||||||
binary_format/embed_pck=false
|
binary_format/embed_pck=false
|
||||||
texture_format/s3tc_bptc=true
|
texture_format/s3tc_bptc=true
|
||||||
|
|
|
@ -10,6 +10,6 @@ config_version=5
|
||||||
|
|
||||||
[application]
|
[application]
|
||||||
|
|
||||||
config/name="authority"
|
config/name="PROJECT"
|
||||||
config/features=PackedStringArray("4.4", "Forward Plus")
|
config/features=PackedStringArray("4.4", "Forward Plus")
|
||||||
config/icon="res://icon.svg"
|
config/icon="res://icon.svg"
|
||||||
|
|
Loading…
Reference in a new issue