using System; using UnityEngine; namespace ET { [ActorMessageHandler] public class M2M_UnitTransferRequestHandler : AMActorRpcHandler { protected override async ETTask Run(Scene scene, M2M_UnitTransferRequest request, M2M_UnitTransferResponse response, Action reply) { await ETTask.CompletedTask; UnitComponent unitComponent = scene.GetComponent(); Unit unit = request.Unit; unitComponent.AddChild(unit); unit.AddComponent(); foreach (Entity entity in request.Entitys) { unit.AddComponent(entity); } unit.Init(); // unit.AddComponent(); // unit.AddComponent(scene.Name); // unit.Position = new Vector3(-10, 0, -10); unit.AddComponent(); // 通知客户端创建My Unit M2C_CreateMyUnit m2CCreateUnits = new M2C_CreateMyUnit(); m2CCreateUnits.Unit = UnitHelper.CreateUnitProto(unit); m2CCreateUnits.SceneName = request.SceneName; m2CCreateUnits.SceneInstanceId = request.SceneInstanceId; MessageHelper.SendToClient(unit, m2CCreateUnits); // 加入aoi // unit.AddComponent(9 * 1000, unit.Position); response.NewInstanceId = unit.InstanceId; reply(); } } }