public override void Tick() { if (timeSpan < TIME_DELAY) { timeSpan += Time.deltaTime; return; } timeSpan = 0; if (!hasPlayFight && Owner.GetLastedTime() > _actorBehaviour.AttackInterval) { // 战斗动画播放结束, 休息一会儿 hasPlayFight = true; ActorPlayAni output = new ActorPlayAni() { RoomId = _actorBehaviour.RoomId, OwnerId = _actorBehaviour.OwnerId, ActorId = _actorBehaviour.ActorId, AiState = 2, // FSMStateActor.StateEnum.Fight }; GameRoomManager.Instance.SendMsg(ROOM.ActorPlayAni, output.ToByteArray()); } if (Owner.TimeIsUp()) { Owner.TriggerTransition(StateEnum.IDLE); } }
private void OnActorPlayAni(SocketAsyncEventArgs args, byte[] bytes) { ActorPlayAni input = ActorPlayAni.Parser.ParseFrom(bytes); if (input.RoomId != RoomId) { return; // 不是自己房间的消息,略过 } ActorPlayAniReply output = new ActorPlayAniReply() { RoomId = input.RoomId, OwnerId = input.OwnerId, ActorId = input.ActorId, AiState = input.AiState, Ret = true, }; BroadcastMsg(ROOM_REPLY.ActorPlayAniReply, output.ToByteArray()); }