Esempio n. 1
0
    // 协议处理函数, 新的 entity 进入视野
    static private void AOINewEntity(CellAttachedInfo info)
    {
        EntityParent entity;

        //LoggerHelper.Debug(info.entity.Name);
        if (Entities.ContainsKey(info.id) || (thePlayer != null && thePlayer.ID == info.id))
        {
            LoggerHelper.Debug("has same id entity in world");
            return;
        }

        switch (info.entity.Name)
        {
        case "Avatar":    //对应Avatar.def
            entity = new EntityPlayer();
            break;

        default:
            entity = new EntityParent();
            break;
        }
        entity.ID     = info.id;
        entity.entity = info.entity;
        entity.SetEntityCellInfo(info);
        entity.OnEnterWorld();
        entity.CreateModel();
        OnEnterWorld(entity);
    }