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


C# Character.CanLearn方法代碼示例

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


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

示例1: SendTrainerList

		public static void SendTrainerList(this NPC trainer, Character chr, IEnumerable<TrainerSpellEntry> spells,
										   string msg)
		{
			using (
				var packet = new RealmPacketOut(RealmServerOpCode.SMSG_TRAINER_LIST, 8 + 4 + 4 + (30 * 38) + msg.Length + 1))
			{
				packet.Write(trainer.EntityId);
				packet.Write((uint)trainer.TrainerEntry.TrainerType);

				var countPos = packet.Position;
				packet.Position += 4;

				var spellCount = 0;
				foreach (var trainerSpell in spells)
				{
					if (!chr.CanLearn(trainerSpell))
					{
						continue;
					}

					var spell = trainerSpell.Spell;
					if (spell.IsTeachSpell)
					{
						spell = spell.LearnSpell;
					}

					//packet.Position = offset  + (spell.Index * entryLength);
					packet.Write(trainerSpell.Spell.Id);
					packet.Write((byte)trainerSpell.GetTrainerSpellState(chr));
					packet.Write(trainerSpell.GetDiscountedCost(chr, trainer));
					packet.Write(spell.Talent != null ? 1u : 0u);						// talent cost
					packet.Write(trainerSpell.Spell.IsProfession && trainerSpell.Spell.TeachesApprenticeAbility ? 1 : 0);	// Profession cost
					packet.Write((byte)trainerSpell.RequiredLevel);
					packet.Write((uint)trainerSpell.RequiredSkillId);
					packet.Write(trainerSpell.RequiredSkillAmount);
					packet.Write((uint)trainerSpell.RequiredSpellId);

					// The following are infrequent Ids of some sort - Possibly spell replacements?
					packet.Write(0u);
					packet.Write(0u);
					++spellCount;
				}

				packet.Write(msg);

				packet.Position = countPos;
				packet.Write(spellCount);

				chr.Send(packet);
			}
		}
開發者ID:NVN,項目名稱:WCell,代碼行數:51,代碼來源:NPCHandler.cs


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