當前位置: 首頁>>代碼示例>>C#>>正文


C# Unit.PushFieldUpdateToPlayer方法代碼示例

本文整理匯總了C#中WCell.RealmServer.Entities.Unit.PushFieldUpdateToPlayer方法的典型用法代碼示例。如果您正苦於以下問題:C# Unit.PushFieldUpdateToPlayer方法的具體用法?C# Unit.PushFieldUpdateToPlayer怎麽用?C# Unit.PushFieldUpdateToPlayer使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在WCell.RealmServer.Entities.Unit的用法示例。


在下文中一共展示了Unit.PushFieldUpdateToPlayer方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: FlyUnit

		public static void FlyUnit(Unit unit, bool startFlight, LinkedListNode<PathVertex> startNode)
		{
			if (unit.TaxiPaths.Count < 1)
			{
				throw new InvalidOperationException("Tried to fly Unit without Path given.");
			}

			var path = unit.TaxiPaths.Peek();

			// Stop combat
			unit.IsInCombat = false;

			// Cannot be invisible when flying
			unit.Stealthed = 0;

			if (startFlight)
			{
				// Regulators, Mount Up!
				var mount = NPCMgr.GetEntry(unit.Faction.IsAlliance ? path.From.AllianceMountId : path.From.HordeMountId);
				if (mount != null)
				{
					var mountId = mount.GetRandomModel().DisplayId;
					unit.Mount(mountId);
					if (unit is Character)
					{
						unit.PushFieldUpdateToPlayer((Character)unit, UnitFields.MOUNTDISPLAYID, mountId);
					}
				}

				unit.OnTaxiStart();
			}

			unit.LatestTaxiPathNode = startNode ?? path.Nodes.First;
			//var next = unit.LatestPathNode.Next.Value;
			if (unit.LatestTaxiPathNode == path.Nodes.First)
			{
				// new flight
				unit.taxiTime = 0;
				MovementHandler.SendMoveToPacket(unit, path.PathTime, MonsterMoveFlags.Fly, path.Nodes);
			}
			else
			{
				// continue:
				// set time to the amount that it takes to get this far along the path
				// ReSharper disable PossibleNullReferenceException
				unit.taxiTime = startNode.Previous.Value.TimeFromStart +
					(int)((1000 * startNode.Value.Pos.GetDistance(unit.Position)) / AirSpeed);
				// ReSharper restore PossibleNullReferenceException
				MovementHandler.SendMoveToPacket(unit, AirSpeed, MonsterMoveFlags.Fly, startNode);
			}
		}
開發者ID:Jeroz,項目名稱:WCell,代碼行數:51,代碼來源:TaxiMgr.cs


注:本文中的WCell.RealmServer.Entities.Unit.PushFieldUpdateToPlayer方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。