无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

UE FastArray的分享

2023-06-10 15:18 作者:skycontact  | 我要投稿

使用FastArray

第一步:聲明一個結(jié)構(gòu)體繼承自 FFastArraySerializerItem

第二步:聲明一個Array結(jié)構(gòu)體繼承自 FFastArraySerializer;并且使用TArry來包含第一步聲明的結(jié)構(gòu)體

第三步:聲明結(jié)構(gòu)體特征

第四步:使用的關(guān)鍵函數(shù)

增加或者修改元素后調(diào)用函數(shù)FFastArraySerializer::MarkItemDirty();

刪除元素后調(diào)用函數(shù)FFastArraySerializer::MarkArrayDirty();

例:

第五步:可以實現(xiàn)一些輔助函數(shù)

元素添加:PostReplicatedAdd

元素修改:PostReplicatedChange

元素刪除:PreReplicatedRemove

這三個函數(shù)只會在連接到服務(wù)器的客戶端才會被被調(diào)用,服務(wù)器以及單機均不會被調(diào)用。

如果一個元素是被刪除,之后又添加了新的,不一定會調(diào)PreReplicatedRemove()以及PostReplicatedAdd(),有可能只有一個PostReplicatedChange()。

FastArray數(shù)據(jù)結(jié)構(gòu)

FFastArraySerializerItem


FFastArraySerializer

FastArray的原理

使用的關(guān)鍵函數(shù)解析

FFastArraySerializer::MarkItemDirty()

FFastArraySerializer::MarkArrayDirty()

例:空Array,添加元素后調(diào)用MarkItemDirty

初次序列化的流程

第一步:構(gòu)造數(shù)據(jù)

例子

例:數(shù)組有A、B和C三個元素

例:

第二步:序列化

第三步:執(zhí)行函數(shù)FNetSerializeCB::NetDeltaSerializeForFastArray()

反序列化的流程

第一步:做一個ItemMap


第二步:執(zhí)行函數(shù)FNetSerializeCB::NetDeltaSerializeForFastArray()

第三步:反序列化

非初次序列化的流程

第一步:判斷是否需要進行序列化

第二步:構(gòu)造數(shù)據(jù)

例:

第三步:序列化


第四步:執(zhí)行函數(shù)FNetSerializeCB::NetDeltaSerializeForFastArray()


UE FastArray的分享的評論 (共 條)

分享到微博請遵守國家法律
清镇市| 合阳县| 宁城县| 洪江市| 错那县| 沙洋县| 涞水县| 新乡县| 洮南市| 鞍山市| 曲周县| 洪泽县| 绿春县| 黄梅县| 万安县| 盐山县| 成安县| 双鸭山市| 阜城县| 大宁县| 双流县| 读书| 瓦房店市| 无棣县| 古浪县| 桂林市| 彰化市| 桦南县| 肇东市| 资溪县| 邻水| 山西省| 尉犁县| 平顺县| 奈曼旗| 滦平县| 南华县| 镇赉县| 喀喇| 娄烦县| 永昌县|