玩家实体的抽象

IPlayer 本地玩家接口

public interface IPlayer {
    // 获取玩家id
    long getPlayerI();

    // 获取playerId的包装类型,用户优化性能
    Long getPlayerPackage();

}

## IPlayerBridge

```java
public interface IPlayerBridge {
    // 默认发包方式,会执行合包操作
    default ChannelFuture sendPacket(Object packet) {
        return sendPacket(packet,false);
    }

    // 精细发包方式,可自定义是否精细合包
    ChannelFuture sendPacket(Object packet, boolean flushNow);

    // 跨服玩家时间
    // 1. 战斗服抛出该事件,知道在战斗服执行
    // 2. 游戏服抛出,传输到战斗服后执行
    // 异步抛出玩家事件,该方法内部会自动填入
    void sumbitEvent(BaseTransferPlayerEvent playerEvent);


    // 从战斗服抛出该事件到游戏服
    // 1. 游戏服抛出该事件,直接在游戏服执行
    // 2. 战斗服抛出,传输到游戏后执行
    void submitEvent(BasePlayerEvent playerEvent);

    // 1. 游戏服抛出该事件,直接在游戏服执行
    // 2. 战斗服抛出,该方法内部会自动填入Player对象
    void sumbitSyncEvent(BasePlayer)


}