public int GetCurrentAttribute(AttributeEnum attr) { if (CurrentAttributes.ContainsKey(attr)) { return(CurrentAttributes[attr]); } return(0); }
private void OnPreviewKeyDown(object sender, KeyEventArgs e) { CyberConsole cc = sender as CyberConsole; if (Keyboard.IsKeyDown(Key.Escape)) { cc.ScrollToEnd(); if (CurrentAttributes.Contains(StandardAttributes[0])) { int offset = cc.Document.GetOffset(StartEditingPoint, 0); string editingText = cc.Document.GetText(offset, cc.Document.TextLength - offset); CurrentAttributes[0].Action(new [] { editingText }); } cc.ConsoleMode = ConsoleMode.COMMAND_MODE; (cc.TextArea.LeftMargins[0] as NewLineMargin).UpdateLineStates(cc.ConsoleMode); cc.Text = cc.Text.Insert(cc.Text.Length, "\nMode is changed to console.\n"); cc.TextArea.Caret.Line = cc.Document.Lines.Count; cc.PreviewKeyDown -= OnPreviewKeyDown; } }
/// <summary> /// Actualisation de tous les attributs /// </summary> public void UpdateAttributes() { CurrentAttributes.Clear(); // prise en compte des attributs de base foreach (var item in BaseAttributes) { CurrentAttributes.AddOrIncrement(item.Key, item.Value); } // prise en compte de tous les effets de l'équipement de l'unité List <Stuff> allEquipedStuff = Unit.Equipement.Select(x => (Stuff)x.Value).ToList(); allEquipedStuff.Add(Unit.Weapon); foreach (var item in allEquipedStuff) { foreach (AttributEffect attributEffect in item.StatusEffects) { CurrentAttributes.AddOrIncrement(attributEffect.Attribute, attributEffect.Value); } } }