using System; namespace ET { public class C2M_GetMenuHandler: AMActorLocationRpcHandler { protected override async ETTask Run(Unit unit, C2M_GetMenu request, M2C_GetMenu response, Action reply) { try { var menuComponent = unit.GetOrAddComponent(); foreach (var v in menuComponent.Children.Values) { response.MenuList.Add(((Menu)v).ToMessage()); } response.Error = ErrorCode.ERR_Success; reply(); } catch (Exception e) { response.Message = e.ToString(); response.Error = ErrorCode.ERR_MenuError; reply(); } await ETTask.CompletedTask; } } }