protected override void RefreshListViewItem(ref ListView viewControl, string filter) { Dictionary <UInt32, NSpellInfo> infos = NSpellInfo.ConvertNativeInfos(); // 刷新界面 foreach (var item in infos) { if (item.Value.ID.IndexOf(filter) == -1 && item.Value.Name.IndexOf(filter) == -1 && item.Value.Description.IndexOf(filter) == -1) { continue; } ListViewItem listItem = new ListViewItem(); listItem.Text = item.Value.ID; listItem.Tag = item.Value; listItem.SubItems.Add(item.Value.Name); listItem.SubItems.Add(item.Value.Description); viewControl.Items.Add(listItem); } }
public override void RemoveInfo(object item) { NSpellInfo info = item as NSpellInfo; if (info != null) { NSpellInfo.RemoveInfo(info.ID); } }
override protected bool ImportExcelContent(string fullPath) { // 先清理内存 NSpellInfo.ClearInfo(); // 导入数据到内存 AttInfoDataHelper.ImportFromExcel <NSpellInfo>(fullPath); // 存储新的数据 NSpellInfo.SaveToFile(); // 清理内存 NSpellInfo.ClearInfo(); return(true); }
/// <summary> /// 技能准备(吟唱, 无吟唱不会受到该消息)开始或更新 /// </summary> private void OnRecvSpellPrepare(MessageReceivedEvent e) { S2C_SpellPrepare ret = MarshalConversion.PtrToStruct <S2C_SpellPrepare>(e.MessagePtr); if (ret.CasterId == GameEngine.EngineInstance.LocalPlayer.CharacterID) { GameEngine.EngineInstance.LocalPlayer.OnSpellPrepare(ret); // 显示吟唱进度条 if (currentProgressBarTimeStamp <= ret.TimeStamp) { if (ret.CurTime == 0) { prepareProgressBar.Hide(); } else { NSpellInfo spell = NSpellInfo.FindInfo(ret.SpellId); Debug.Assert(spell != null); prepareTime = ret.CurTime * 0.001f; prepareMaxTime = ret.MaxTime * 0.001f; prepareProgressBar.Progress = prepareTime / prepareMaxTime; prepareProgressBar.Text.Text = spell.Name; prepareProgressBar.Show(); currentProgressBarTimeStamp = ret.TimeStamp; currentProgressBarSpellID = ret.SpellId; } } } else { RemoteCharacterController rcc = GameEngine.EngineInstance.FindCharacterController(ret.CasterId); if (rcc != null) { rcc.OnSpellPrepare(ret); } else { NLogger.Instance.WriteString(LogType.Warning, string.Format("S2C_SpellPrepare can not find controller UintID=[{0}]", ret.CasterId)); } } }
public override bool Initialize(params object[] args) { // 注册frame RegisterFrame(GameFrameType.AccountLogin, typeof(AccountLoginFrame)); RegisterFrame(GameFrameType.SelectRole, typeof(SelectRoleFrame)); RegisterFrame(GameFrameType.CreateRole, typeof(CreateRoleFrame)); RegisterFrame(GameFrameType.Gaming, typeof(LoadingFrame)); RegisterFrame(GameFrameType.Gaming, typeof(GamingFrame)); RegisterFrame(GameFrameType.Gaming, typeof(GamingMainFrame)); RegisterFrame(GameFrameType.Gaming, typeof(GamingCombatFrame)); RegisterFrame(GameFrameType.Gaming, typeof(MiniMapFrame)); // 加载属性模板表 NLevelupInfo.LoadFromFile(); NSpellInfo.LoadFromFile(); NSpellAuraInfo.LoadFromFile(); NSpellEffectInfo.LoadFromFile(); return(base.Initialize(args)); }
public override void ReloadFromFile() { NSpellInfo.ClearInfo(); NSpellInfo.LoadFromFile(); }
public override void SaveToFile() { NSpellInfo.SaveToFile(); }
public override void NewInfo() { NSpellInfo info = new NSpellInfo(Guid.NewGuid().ToString()); }
public override void ClearInfo() { NSpellInfo.ClearInfo(); }
public SpellInstance(UInt32 infoId) { SpellInfo = NSpellInfo.FindInfo(infoId); Debug.Assert(SpellInfo != null); }
public SpellInstance(NSpellInfo info) { SpellInfo = info; }
private string BuildSpellErrorCode(UInt32 spellID, SpellCastResult errorCode) { NSpellInfo info = NSpellInfo.FindInfo(spellID); string errorMessageTips = string.Empty; switch (errorCode) { case SpellCastResult.Success: break; case SpellCastResult.Failed_NoSpell: errorMessageTips = string.Format(GUISystem.Instance.StringDictionary.GetValue("C_NoSpell"), info.Name); break; case SpellCastResult.Failed_InvalidSpell: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_InvalidSpell"); break; case SpellCastResult.Failed_SpellInProgress: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_SpellInProgress"); break; case SpellCastResult.Failed_CoolDown: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_CoolDown"); break; case SpellCastResult.Failed_TooClose: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_TooClose"); break; case SpellCastResult.Failed_OutofRange: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_OutofRange"); break; case SpellCastResult.Failed_CasterDead: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_CasterDead"); break; case SpellCastResult.Failed_Interrupted: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_Interrupted"); break; case SpellCastResult.Failed_NoMana: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_NoMana"); break; case SpellCastResult.Failed_NoEnergy: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_NoEnergy"); break; case SpellCastResult.Failed_LineofSight: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_LineofSight"); break; case SpellCastResult.Failed_InvalidTargets: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_InvalidTargets"); break; case SpellCastResult.Failed_InCombat: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_InCombat"); break; case SpellCastResult.Failed_InFear: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_InFear"); break; case SpellCastResult.Failed_InSilence: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_InSilence"); break; case SpellCastResult.Failed_InRoot: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_InRoot"); break; case SpellCastResult.Failed_CantRepeat: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_CantRepeat"); break; case SpellCastResult.Failed_Cancel: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_Cancel"); break; case SpellCastResult.Failed_Move: errorMessageTips = GUISystem.Instance.StringDictionary.GetValue("C_Move"); break; } if (!String.IsNullOrEmpty(errorMessageTips)) { GamingMainFrame.MessageTips.Add(new MessageElement(errorMessageTips)); } return(errorMessageTips); }