2 pontos por clash4970 2025-03-17 | Ainda não há comentários. | Compartilhar no WhatsApp

Contexto de desenvolvimento

Este pacote foi criado para evitar facilmente a geração de garbage causada por boxing sempre que se usa o HasFlag padrão de Enum ao desenvolver jogos em Unity ou ao usar C#!

Como funciona

Usando Source Generator, ele encontra em tempo de compilação as declarações de enum com [Flag] no código e gera automaticamente métodos de extensão personalizados HasFlagNonAlloc.

Funcionalidades

Você pode escrever código HasFlag de forma legível com uma sobrecarga em tempo de execução quase zero!

var currentState = PlayerState.Idle | PlayerState.Walking;  
  
// HasFlag tradicional (ocorre boxing)  
if (currentState.HasFlag(PlayerState.Idle))  
{  
    // ...  
}  
  
// Implementação de verificação HasFlag para evitar boxing  
if ((currentState & PlayerState.Idle) == PlayerState.Idle)  
{  
    // ...  
}  
  
// Após instalar o NonAllocFlagGenerator  
if (currentState.HasFlagNonAlloc(PlayerState.Idle))  
{  
    // ...  
}  

Como é meu primeiro projeto open source de verdade (?), ainda há muitas limitações, mas estou criando coragem para publicá-lo!
Espero que seja útil ao escrever código sensível a desempenho.

Feedback é muito bem-vindo!

Ainda não há comentários.

Ainda não há comentários.