serverproxy 繼承 netpeer
netbuffer 封裝後的佇列,元素為byte(8位無符號整形)
netpeer 使用socket進行程序間通訊,connect, update, send, close。
將socket中的資料讀入buffer中,之後提取每個包資料,頭兩個位元組為包的長度,接收到後,讀入到記憶體中,進行進一步的處理,onreceive函式。第二個雙位元組為訊息型別(netmessage)
localtanker updateplayeroperation
處理使用者所有的滑鼠鍵盤輸入
tankcontroller updategunfollowtarget 處理射擊目標
updatetankgunratation 取消地形導致的槍口位置改變
注釋原始碼
vector = quaternion.inverse(this.mtank.getderivedorientation()) * vector;
vector3 = quaternion.inverse(rotation) * vector3;
在battle類中新增靜態成員函式
[dllimport("tank_data\\managed\\sendgamemessage.dll")]
public static extern void insertmessage(byte s);
對reportmessageplus進行修改
public static void reportmessageplus(string s)
對battleserverproxy中的handleshellhittank函式進行修改,新增**
if (tanker2 != null)
string str = string.concat(array);
if (num != 0)
關係對映
tankdata類 mkind坦克的索引(int型別)、mgrade(坦克級別ushort)、mclass(坦克類別ushort)
damageflags類
damageflag(int)19
5170傷害型別
擊穿暴擊
未擊穿(誤傷或復活模式免疫)
none
傳送資料格式
攻擊坦克(kind)、攻擊坦克名稱(string)、被攻擊坦克(kind)、被攻擊坦克名稱(string)、傷害值(int)、傷害型別(int)、戰鬥模式(int)、戰鬥id(int)、是否隊友誤傷(int 0否1是)
對handleshelldestroytank進行修改
if (tanker2 != null)
string str = string.concat(array);
if (num != 0u)
訊息細節同上
battlereport 記錄所有資訊
tankerbattlereport() 1.tank info 2. playerbattlescore 記錄對局中某一玩家成績
比賽開始時記錄玩家資訊:
stagebattle --> handlebaattleprepared --> battlereport.recordtanker() -->record tank info
比賽結束後記錄伺服器傳回結果:
worldserverproxy -->handlebattleresult --> recordtankerscore() --> record score info
最後修改:
tankbattlereport類中新增成員
public string mtankname;
battlereport.recordtanker函式中新增
tankerbattlereport.mtankname = tanker.gettank().getvisual().gettankvisualdata().mname;
在battlereport中新增函式
public void reportbattleresultout()
}} }
在worldserverproxy.handlebattleresult函式中新增
if (report != null)
戰鬥結果資料 坦克種類(int)、坦克名稱(string)、是否存活(bool)、擊毀數量(int)、傷害(int)、潛在傷害(int)、射擊數量(int)、命中數(int)、穿透數(int)、被擊中數量(int)、戰鬥模式(string)。 spring原始碼分析 spring原始碼分析
1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...
思科VPP原始碼分析(dpo機制原始碼分析)
vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...
redux原始碼分析(三) 原始碼部分
下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...