/// <summary> /// 逻辑帧更新 /// </summary> public static void Update() { if (Client.dataQueue.Count > 0) { var data = Client.dataQueue.Dequeue(); if (data.Item1 != Client.FRAMPACKAGETYPE) { Debug.Log("fram package error"); Client.ifrun = false; return; } var fp = Client.Deserialize <FramPackage>(data.Item2, 0, data.Item2.Length); for (int i = 0; i < fp.Opts.Count; i++) { var opt = fp.Opts[i]; if (!obinfmp.ContainsKey(opt.Doplayername)) { LogicCreatPlayer(opt.Doplayername, opt.Id); if (opt.Doplayername == Client.name) { UIManager.Init(); } } if (opt.Optype == Client.MOVETYPE) { obinfmp[opt.Doplayername].ToMove(opt.Dir); //ToMove(opt.Doplayername,opt.Dir); } else { obinfmp[opt.Doplayername].ToUseSkill(opt.Skillid); //ToPlaySkill(opt.Doplayername,opt.Skillid); } } //逻辑时间更新 time += eachframtime; } foreach (var e in obinfmp) { e.Value.UpdateCreature(); } BulletsManager.Update(); }