This tutorial is designed to set up a complete Git workflow on Android, complete with LFS, and use it with the Godot editor.
The storage usage is minimal.
Be prepared to get a bit technical. You should be familiar with command line tools,
| class_name IntObserver | |
| extends Node | |
| signal value_changed(value: int) | |
| @export var observable: ObservableInt: | |
| set(v): | |
| if observable: | |
| observable.changed.disconnect(_emit) | |
| observable = v |
| class_name WebSocketClient | |
| extends Node | |
| signal recv_text(message: String) | |
| signal recv_binary(message: PackedByteArray) | |
| signal connected() | |
| signal disconnected() | |
| const TRACE = true |
| class_name Future | |
| extends RefCounted | |
| static var _UNFULFILLED = RefCounted.new() | |
| static var _initial_state = [_UNFULFILLED] | |
| static var _fulfilled_signal = _FulfilledSignal.new() | |
| func _init() -> void: | |
| push_error("Static class. Do not instantiate.") |
| @tool | |
| extends RefCounted | |
| ## ShallowResourceLoader | |
| ## | |
| ## Shallowly loads a resource without loading external dependencies. | |
| ## Dependencies are replaced by an instance of PlaceholderExternalResource. | |
| ## Dependencies which have already been loaded and which are in the cache are not replaced. | |
| ## Placeholder resources will be stored in the cache using the resource_path they are replacing. | |
| ## |
| extends Node | |
| ## | |
| ## Manages multiplayer connections. | |
| ## | |
| ## Emitted when a client player joins the session. Only emitted on the server. | |
| ## Also emitted for the local player when the server starts. | |
| signal player_joined(unique_id: int) | |
| ## Emitted when a client player leaves the session (or is kicked). Only emitted on the server. |
| MIT License | |
| Copyright (c) 2024 Apples | |
| Permission is hereby granted, free of charge, to any person obtaining a copy | |
| of this software and associated documentation files (the "Software"), to deal | |
| in the Software without restriction, including without limitation the rights | |
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| copies of the Software, and to permit persons to whom the Software is | |
| furnished to do so, subject to the following conditions: |
| class_name DiceRoll | |
| extends RefCounted | |
| ## Usage | |
| ## [codeblock] | |
| ## var dice := DiceRoll.new("1d4 + 2 * X") | |
| ## if not dice.is_valid(): | |
| ## print("Invalid dice.") | |
| ## print("Range: %s ~ %s" % [dice.min(), dice.max()]) | |
| ## print("Sample roll: %s" % [dice.roll({ X = 2 })]) |
| using System; | |
| using System.Security.Claims; | |
| using System.Text.Json; | |
| using System.Threading.Tasks; | |
| using Microsoft.AspNetCore.Http; | |
| namespace Copper | |
| { | |
| public static class CopperSession | |
| { |
| using System; | |
| using System.Reflection; | |
| namespace Mealplan | |
| { | |
| public static class Copy | |
| { | |
| public static T Shallow<T>(object src, Type? srcType = null, object? defaultValues = null, object? forceValues = null) | |
| where T : new() | |
| { |