当前位置: 首页>>代码示例>>C#>>正文


C# Unit.OnTaxiStart方法代码示例

本文整理汇总了C#中WCell.RealmServer.Entities.Unit.OnTaxiStart方法的典型用法代码示例。如果您正苦于以下问题:C# Unit.OnTaxiStart方法的具体用法?C# Unit.OnTaxiStart怎么用?C# Unit.OnTaxiStart使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WCell.RealmServer.Entities.Unit的用法示例。


在下文中一共展示了Unit.OnTaxiStart方法的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.OnTaxiStart方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。