예제 #1
0
        public int GetCurrentAttribute(AttributeEnum attr)
        {
            if (CurrentAttributes.ContainsKey(attr))
            {
                return(CurrentAttributes[attr]);
            }

            return(0);
        }
예제 #2
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;
            }
        }
예제 #3
0
        /// <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);
                }
            }
        }