跳到主要内容
知仓学习社ZHICANG

godot-csharp

Godot C# programming skill for .NET integration, scripting patterns, and performance optimization.

不碰外部(只输出文字)无严重或高危命中a5c-ai/babysitter

它会碰到什么

扫了多少2 个文本文件,3 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Godot C# Skill

C# programming for Godot Engine development.

Overview

This skill provides capabilities for implementing game logic using C# in Godot, leveraging .NET integration.

Capabilities

C# Integration

  • Node class inheritance
  • Attribute-based exports
  • Signal definitions
  • Callable system

.NET Features

  • NuGet packages
  • Async/await patterns
  • LINQ queries
  • .NET libraries

Interoperability

  • Call GDScript from C#
  • Expose to GDScript
  • Handle Variant types
  • Manage signals

Performance

  • Struct usage
  • Memory management
  • Object pooling
  • Span usage

Prerequisites

  • Godot 4.0+ with .NET support
  • .NET SDK installed
  • C# IDE (VS Code, Rider)

Usage Patterns

Node Script

using Godot;

public partial class Player : CharacterBody2D
{
    [Export]
    public float Speed { get; set; } = 200f;

    [Signal]
    public delegate void HealthChangedEventHandler(int newHealth);

    private int _health = 100;

    public override void _Ready()
    {
        // Initialize
    }

    public override void _PhysicsProcess(double delta)
    {
        var velocity = Vector2.Zero;
        velocity.X = Input.GetAxis("move_left", "move_right");
        velocity.Y = Input.GetAxis("move_up", "move_down");
        Velocity = velocity.Normalized() * Speed;
        MoveAndSlide();
    }
}

Signal Connection

button.Pressed += OnButtonPressed;
// or
button.Connect("pressed", Callable.From(OnButtonPressed));

Best Practices

  1. Use partial classes
  2. Leverage NuGet packages
  3. Handle node lifecycle
  4. Profile memory usage
  5. Use source generators

References

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。