Skip to main content

Class ActionType

Namespace: DiceRolling.Actions
Assembly: dice-rolling.dll

Representa um tipo de ação no jogo, incluindo suas informações, categoria, descrição, ícone, energia necessária, efeitos e configuração de alvo. Esta classe também fornece métodos para inicializar e gerenciar esses aspectos.

[Tool]
[GlobalClass]
[ScriptPath("res://features/Action/ActionType.cs")]
public class ActionType : IdentifiableResource, IDisposable, IAction\<IActionContext, bool>, IIdentifiable, IActionInformation, IActionAssets, IActionBehavior\<IActionContext, bool>

Inheritance

object ← GodotObject ← RefCounted ← Resource ← IdentifiableResourceActionType

Implements

IDisposable,
IAction<IActionContext, bool>,
IIdentifiable,
IActionInformation,
IActionAssets,
IActionBehavior<IActionContext, bool>

Inherited Members

Show/Hide Inherited Members

IdentifiableResource.Id,
IdentifiableResource.GenerateNewIdButton,
IdentifiableResource.GenerateNewId(),
IdentifiableResource._ValidateProperty(Dictionary),
Resource._GetRid(),
Resource._ResetState(),
Resource._SetPathCache(string),
Resource._SetupLocalToScene(),
Resource.TakeOverPath(string),
Resource.SetPathCache(string),
Resource.GetRid(),
Resource.GetLocalScene(),
Resource.SetupLocalToScene(),
Resource.ResetState(),
Resource.SetIdForPath(string, string),
Resource.GetIdForPath(string),
Resource.IsBuiltIn(),
Resource.GenerateSceneUniqueId(),
Resource.EmitChanged(),
Resource.Duplicate(bool),
Resource.EmitSignalChanged(),
Resource.EmitSignalSetupLocalToSceneRequested(),
Resource.InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant),
Resource.HasGodotClassMethod(in godot_string_name),
Resource.HasGodotClassSignal(in godot_string_name),
Resource.ResourceLocalToScene,
Resource.ResourcePath,
Resource.ResourceName,
Resource.ResourceSceneUniqueId,
Resource.Changed,
Resource.SetupLocalToSceneRequested,
RefCounted.InitRef(),
RefCounted.Reference(),
RefCounted.Unreference(),
RefCounted.GetReferenceCount(),
RefCounted.InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant),
RefCounted.HasGodotClassMethod(in godot_string_name),
RefCounted.HasGodotClassSignal(in godot_string_name),
GodotObject.NotificationPostinitialize,
GodotObject.NotificationPredelete,
GodotObject.NotificationExtensionReloaded,
GodotObject.InstanceFromId(ulong),
GodotObject.IsInstanceIdValid(ulong),
GodotObject.IsInstanceValid(GodotObject?),
GodotObject.WeakRef(GodotObject?),
GodotObject.Dispose(),
GodotObject.Dispose(bool),
GodotObject.ToString(),
GodotObject.ToSignal(GodotObject, StringName),
GodotObject._Get(StringName),
GodotObject._GetPropertyList(),
GodotObject._IterGet(Variant),
GodotObject._IterInit(Array),
GodotObject._IterNext(Array),
GodotObject._Notification(int),
GodotObject._PropertyCanRevert(StringName),
GodotObject._PropertyGetRevert(StringName),
GodotObject._Set(StringName, Variant),
GodotObject._ValidateProperty(Dictionary),
GodotObject.Free(),
GodotObject.GetClass(),
GodotObject.IsClass(string),
GodotObject.Set(StringName, Variant),
GodotObject.Get(StringName),
GodotObject.SetIndexed(NodePath, Variant),
GodotObject.GetIndexed(NodePath),
GodotObject.GetPropertyList(),
GodotObject.GetMethodList(),
GodotObject.PropertyCanRevert(StringName),
GodotObject.PropertyGetRevert(StringName),
GodotObject.Notification(int, bool),
GodotObject.GetInstanceId(),
GodotObject.SetScript(Variant),
GodotObject.GetScript(),
GodotObject.SetMeta(StringName, Variant),
GodotObject.RemoveMeta(StringName),
GodotObject.GetMeta(StringName, Variant),
GodotObject.HasMeta(StringName),
GodotObject.GetMetaList(),
GodotObject.AddUserSignal(string, Array),
GodotObject.HasUserSignal(StringName),
GodotObject.RemoveUserSignal(StringName),
GodotObject.EmitSignal(StringName, params Variant[]),
GodotObject.EmitSignal(StringName, ReadOnlySpan<Variant>),
GodotObject.Call(StringName, params Variant[]),
GodotObject.Call(StringName, ReadOnlySpan<Variant>),
GodotObject.CallDeferred(StringName, params Variant[]),
GodotObject.CallDeferred(StringName, ReadOnlySpan<Variant>),
GodotObject.SetDeferred(StringName, Variant),
GodotObject.Callv(StringName, Array),
GodotObject.HasMethod(StringName),
GodotObject.GetMethodArgumentCount(StringName),
GodotObject.HasSignal(StringName),
GodotObject.GetSignalList(),
GodotObject.GetSignalConnectionList(StringName),
GodotObject.GetIncomingConnections(),
GodotObject.Connect(StringName, Callable, uint),
GodotObject.Disconnect(StringName, Callable),
GodotObject.IsConnected(StringName, Callable),
GodotObject.HasConnections(StringName),
GodotObject.SetBlockSignals(bool),
GodotObject.IsBlockingSignals(),
GodotObject.NotifyPropertyListChanged(),
GodotObject.SetMessageTranslation(bool),
GodotObject.CanTranslateMessages(),
GodotObject.Tr(StringName, StringName),
GodotObject.TrN(StringName, StringName, int, StringName),
GodotObject.GetTranslationDomain(),
GodotObject.SetTranslationDomain(StringName),
GodotObject.IsQueuedForDeletion(),
GodotObject.CancelFree(),
GodotObject.EmitSignalScriptChanged(),
GodotObject.EmitSignalPropertyListChanged(),
GodotObject.InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant),
GodotObject.HasGodotClassMethod(in godot_string_name),
GodotObject.HasGodotClassSignal(in godot_string_name),
GodotObject.NativeInstance,
GodotObject.ScriptChanged,
GodotObject.PropertyListChanged,
object.Equals(object?),
object.Equals(object?, object?),
object.GetHashCode(),
object.GetType(),
object.MemberwiseClone(),
object.ReferenceEquals(object?, object?),
object.ToString()

Constructors

ActionType()

public ActionType()

ActionType(string, Category, string?, Texture2D?, Array<DiceEnergy>, Array<EffectType>, TargetBoardType?)

public ActionType(string name, Category category, string? description, Texture2D? icon, Array<DiceEnergy> requiredEnergy, Array<EffectType> effects, TargetBoardType? targetBoard)

Parameters

name string

category Category

description string?

icon Texture2D?

requiredEnergy Array<DiceEnergy>

effects Array<EffectType>

targetBoard TargetBoardType?

Properties

Category

Categoria da ação.

[Export(PropertyHint.None, "")]
public Category? Category { get; set; }

Property Value

Category?

Description

Descrição da ação.

[Export(PropertyHint.MultilineText, "")]
public string? Description { get; set; }

Property Value

string?

Effects

[Export(PropertyHint.None, "")]
public Array<EffectType> Effects { get; set; }

Property Value

Array<EffectType>

Icon

[ExportGroup("🪵 Assets", "")]
[Export(PropertyHint.None, "")]
public Texture2D? Icon { get; set; }

Property Value

Texture2D?

IconPath

public string? IconPath { get; }

Property Value

string?

Name

Nome da ação.

[ExportGroup("📝 Information", "")]
[Export(PropertyHint.None, "")]
public string Name { get; set; }

Property Value

string

RequiredEnergy

[ExportGroup("🎭 Behavior", "")]
[Export(PropertyHint.None, "")]
public Array<DiceEnergy> RequiredEnergy { get; set; }

Property Value

Array<DiceEnergy>

TargetBoard

[Export(PropertyHint.None, "")]
public TargetBoardType? TargetBoard { get; set; }

Property Value

TargetBoardType?

Methods

AddEffect(EffectType)

public void AddEffect(EffectType effect)

Parameters

effect EffectType

Do(IActionContext)

public bool Do(IActionContext context)

Parameters

context IActionContext

Returns

bool

IsValid()

public bool IsValid()

Returns

bool

RemoveEffect(EffectType)

public void RemoveEffect(EffectType effect)

Parameters

effect EffectType

ValidateConstructor()

public void ValidateConstructor()

Tem uma sugestão? 💡