public override void serialize(BytesStream stream) { base.serialize(stream); stream.Write((byte)team); stream.write(position); stream.Write(height); for (int i = 0; i < runAnimiationNormalSpeeds.Length; ++i) { stream.Write(runAnimiationNormalSpeeds[i]); } //avatar相关 begin stream.WriteStringByte(avatarName); int index = 0; foreach (var dict in avatarPart) { stream.WriteStringByte(dict.Key); stream.WriteStringByte(dict.Value); index++; } for (int i = index; i < maxAvatarPartNum; i++) { stream.WriteStringByte(""); stream.WriteStringByte(""); } //avatar相关 end stream.Write(gk); stream.WriteStringByte(name); stream.Write((byte)element); stream.Write(roleId); }
public void saveServerMessages() { var tsn = new TableStartNotify(); var ra = fbGame.gamePlayers.GetEnumerator(); while (ra.MoveNext()) { tsn.allPlayerInfos.Add(new PlayerInfo { uid = 0, frameId = (byte)ra.Current.Value.actor.id, roleId = (ushort)ra.Current.Value.actor.roleId, team = (byte)ra.Current.Value.actor.team, name = ra.Current.Value.actor.name, ai = ra.Current.Value.ai }); } var fm = new FramesMsg(); LinkedListNode <ServerFrameMsg> node = serverMessages.First; while (node != null) { fm.allFrameMessages.Add(node.Value); node = node.Next; } BytesStream stream = new BytesStream(); tsn.marshal(stream); fm.marshal(stream); // tsn.serialize(stream); // fm.serialize(stream); ResourceManager.inst.saveToFile(stream, serverMessagesName, ResourceManager.PathType.PT_Resources); }
public override void serialize(BytesStream stream) { base.serialize(stream); stream.write(startDirection); stream.write(endDirection); stream.Write(ignoreTimeAction); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); startDirection = stream.readVector2(); endDirection = stream.readVector2(); ignoreTimeAction = stream.ReadBoolean(); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); position = stream.readVector2(); prefab = stream.ReadString(); radius = stream.ReadSingle(); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); velocity = stream.readVector3(); angle = stream.ReadSingle(); target = stream.readVector3(); }
public override void serialize(BytesStream stream) { base.serialize(stream); stream.write(position); stream.WriteStringByte(prefab); stream.Write(radius); }
public override void serialize(BytesStream stream) { base.serialize(stream); stream.write(velocity); stream.Write(angle); stream.write(target); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); point = stream.readVector3(); normal = stream.readVector3(); velocity = stream.readVector3(); kickerElement = (FiveElements)stream.ReadByte(); }
public override void serialize(BytesStream stream) { base.serialize(stream); stream.write(point); stream.write(normal); stream.write(velocity); stream.Write((byte)kickerElement); }
public override void serialize(BytesStream stream) { base.serialize(stream); stream.write(mainExtent); stream.write(doorExtent); stream.Write(doorHeight); stream.Write(mapID); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); mainExtent = stream.readVector2(); doorExtent = stream.readVector2(); doorHeight = stream.ReadSingle(); mapID = stream.ReadUInt16(); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); point = stream.readVector2(); pass = stream.ReadBoolean(); times = stream.ReadByte(); velocity = stream.readVector3(); preHeightVelocity = stream.ReadSingle(); }
public override void serialize(BytesStream stream) { base.serialize(stream); stream.write(point); stream.Write(pass); stream.Write(times); stream.write(velocity); stream.Write(preHeightVelocity); }
public override byte[] marshal(BytesStream stream) { stream.Write(uid); stream.Write(frameId); stream.Write(roleId); stream.Write(team); stream.WriteStringByte(name); stream.Write(ai); return(stream.GetUsedBytes()); }
public override bool unMarshal(BytesStream stream) { uid = stream.ReadUInt64(); frameId = stream.ReadByte(); roleId = stream.ReadUInt16(); team = stream.ReadByte(); name = stream.ReadString(); ai = stream.ReadBoolean(); return(true); }
public override byte[] marshal(BytesStream stream) { stream.Write((ushort)allFrameMessages.Count); for (int i = 0; i < allFrameMessages.Count; ++i) { allFrameMessages[i].marshal(stream); } return(stream.GetUsedBytes()); }
public override bool unMarshal(BytesStream stream) { frameNum = stream.ReadUInt16(); uint count = stream.ReadByte(); for (uint i = 0; i < count; ++i) { ServerFrameInputEvent evt = new ServerFrameInputEvent(); evt.unMarshal(stream); events.Add(evt); } return(true); }
public override bool unMarshal(BytesStream stream) { var frameCount = stream.ReadUInt16(); while (stream.Pos < stream.Buf.Length - 1 && allFrameMessages.Count < frameCount) { ServerFrameMsg evt = new ServerFrameMsg(); evt.unMarshal(stream); allFrameMessages.Add(evt); } return(true); }
public override byte[] marshal(BytesStream stream) { stream.Write(frameNum); byte count = (byte)events.Count; stream.Write(count); for (int i = 0; i < events.Count; ++i) { events[i].marshal(stream); } return(stream.GetUsedBytes()); }
public override byte[] marshal(BytesStream stream) { stream.Write(tableId); stream.Write(mapId); stream.Write((byte)allPlayerInfos.Count); for (int i = 0; i < allPlayerInfos.Count; ++i) { allPlayerInfos[i].marshal(stream); } return(stream.GetUsedBytes()); }
public override bool unMarshal(BytesStream stream) { tableId = stream.ReadUInt64(); mapId = stream.ReadUInt32(); var playerCount = stream.ReadByte(); while (stream.Pos < stream.Buf.Length - 1 && allPlayerInfos.Count < playerCount) { PlayerInfo evt = new PlayerInfo(); evt.unMarshal(stream); allPlayerInfos.Add(evt); } return(true); }
void loadServerMessages() { if (fbGame != null) { fbGame.destory(); fbGame = null; } //byte[] data = ResourcesManager.instance.getFileData(serverMessagesName); byte[] data = ConfigResourceLoader.inst.getFileData(serverMessagesName); BytesStream stream = new BytesStream(data); serverMessages.Clear(); var tsn = new TableStartNotify(); tsn.unMarshal(stream); //tsn.unserialize(stream); fbGame = new FBGame(); LogicEvent.fire("onFBGameNewed", fbGame); fbGame.setupFBGame(tsn.tableId, tsn.mapId); fbGame.createCoach(string.Format("{0}/Resources/Config/Behaviac", UnityEngine.Application.dataPath)); //创建玩家 var playerCount = tsn.allPlayerInfos.Count; for (int i = 0; i < playerCount; ++i) { var player = tsn.allPlayerInfos[i]; fbGame.createPlayer(0, player.frameId, player.roleId, player.team, "给我来段FreeStyle", false, player.ai); } //处理输入消息 var fm = new FramesMsg(); fm.unMarshal(stream); //fm.unserialize(stream); for (int i = 0; i < fm.allFrameMessages.Count; ++i) { var msg = fm.allFrameMessages[i]; pushServerMessage(msg); } fbGame.changeState(GameState.Ready); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); beginFrame = stream.ReadUInt32(); endFrame = stream.ReadUInt32(); replayTime = stream.ReadByte(); goalDoor = (Location)stream.ReadByte(); positionRandomValue = stream.ReadSingle(); shootRandomValue = stream.ReadSingle(); goalRandomValue = stream.ReadSingle(); goaler = stream.ReadUInt64(); blueScore = stream.ReadUInt16(); redScore = stream.ReadUInt16(); goalTime = stream.ReadUInt16(); goalTeam = (FBTeam)stream.ReadByte(); }
public override void serialize(BytesStream stream) { base.serialize(stream); stream.Write(beginFrame); stream.Write(endFrame); stream.Write(replayTime); stream.Write((byte)goalDoor); stream.Write(positionRandomValue); stream.Write(shootRandomValue); stream.Write(goalRandomValue); stream.Write(goaler); stream.Write(blueScore); stream.Write(redScore); stream.Write(goalTime); stream.Write((byte)goalTeam); }
public void saveToFile(BytesStream stream, string filename, PathType pathType = PathType.PT_Writable) { string tempPath = getPathByType(pathType) + filename; if (Directory.Exists(Path.GetDirectoryName(tempPath))) { if (File.Exists(tempPath)) { File.Delete(tempPath); } } else { Directory.CreateDirectory(Path.GetDirectoryName(tempPath)); } //临时写文件 FileStream fs = new FileStream(tempPath, FileMode.CreateNew); fs.Write(stream.Buf, 0, stream.Used); fs.Close(); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); team = (FBTeam)stream.ReadByte(); position = stream.readVector2(); height = stream.ReadSingle(); for (int i = 0; i < runAnimiationNormalSpeeds.Length; ++i) { runAnimiationNormalSpeeds[i] = stream.ReadSingle(); } //avatar相关 begin avatarName = stream.ReadString(); for (int i = 0; i < maxAvatarPartNum; i++) { avatarPart.Add(stream.ReadString(), stream.ReadString()); } //avatar相关 end gk = stream.ReadBoolean(); name = stream.ReadString(); element = (FiveElements)stream.ReadByte(); roleId = stream.ReadUInt32(); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); team = (FBTeam)stream.ReadByte(); }
public override void serialize(BytesStream stream) { base.serialize(stream); stream.Write((byte)team); }
public override void unserialize(BytesStream stream) { base.unserialize(stream); passBallType.data = stream.ReadBytes(1); }