// using Fantasy;
// using Fantasy.Async;
// using NBC;
// using Fantasy.Entitas;
// using Fantasy.Entitas.Interface;
//
// namespace NBF.Fishing2
// {
//     public class Role : Entity
//     {
//         public string RoomCode { get; set; }
//         public RoleInfo Info { get; set; }
//
//
//         public class RoleDestroySystem : DestroySystem<Role>
//         {
//             protected override void Destroy(Role self)
//             {
//                 self.RoomCode = string.Empty;
//                 self.Info = null;
//             }
//         }
//
//         public class RoleAwakeSystem : AwakeSystem<Role>
//         {
//             protected override void Awake(Role self)
//             {
//                 // self.AddComponent<RoleBag>();
//                 // self.AddComponent<RoleFishBag>();
//             }
//         }
//
//         public async FTask GetRoleInfo()
//         {
//             var response = (Game2C_GetRoleInfoResponse)await Net.Call(new C2Game_GetRoleInfoRequest());
//             RoomCode = response.RoomCode;
//             Info = response.RoleInfo;
//         }
//
//         public MapUnitInfo GetMapUnitInfo()
//         {
//             MapUnitInfo mapUnit = new MapUnitInfo();
//             mapUnit.Id = Id;
//             mapUnit.RoleInfo = new RoleSimpleInfo()
//             {
//                 RoleId = Id,
//                 NickName = Info.BaseInfo.NickName,
//                 Head = Info.BaseInfo.Head,
//                 Country = Info.BaseInfo.Country,
//                 Level = Info.BaseInfo.Level,
//                 // Vip = Info.BaseInfo.Vip
//             };
//
//             return mapUnit;
//         }
//     }
// }