Receber por email
← Voltar para o catálogo

godot-csharp

Habilidade de programação Godot C# para integração .NET, padrões de script e otimização de desempenho.

1.4kestrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add a5c-ai/babysitter

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/godot-csharp/svg)](https://www.skillteca.com.br/skills/godot-csharp)

Skills relacionadas

Ver todas de Automação →

Alerta por categoria

Receba novas skills de Automação toda segunda

1 email curto, só com as skills novas de Automação. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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

Compartilhar X LinkedIn