using Cysharp.Threading.Tasks; using SLSFramework.General; using UnityEngine; namespace SLSFramework.General { /// 从 outerContext 中读取一个变量并输出到控制台。 public class Cmd_GetAndLogVariable : CommandBase { private readonly string variableName; public Cmd_GetAndLogVariable(string variableName) { this.variableName = variableName; } protected override UniTask ExecuteAsync(CommandContext outerContext) { if (outerContext.context.TryGetValue(variableName, out object value)) Debug.Log($"[Cmd_GetAndLogVariable] 获取变量 '{variableName}',值为: '{value?.ToString() ?? "null"}'"); else Debug.LogWarning($"[Cmd_GetAndLogVariable] 变量 '{variableName}' 未在上下文中定义。"); return UniTask.CompletedTask; } } }