Beispiel #1
0
        public bool RemoveCharacter(int characterId)
        {
            if (!HasCharacter(characterId))
            {
                return(false);
            }

            m_characters.Remove(characterId);
            CharacterRemoved?.Invoke(characterId);

            return(true);
        }
Beispiel #2
0
        public bool RemoveCharacter(Character character)
        {
            var success = Characters.TryRemove(character.Id, out character);

            if (success)
            {
                CharacterRemoved?.Invoke(this, new CharacterArgs(character));

                foreach (var otherCharacter in Characters.Values.Where(x => x.InRangeCharacters.ContainsKey(character.Id)))
                {
                    otherCharacter.RemoveInRangeCharacter(character);
                }
            }
            return(success);
        }
Beispiel #3
0
 public virtual void DeSelect()
 {
     healthChanged    -= new ChangedHealth(UIManager.MyInstance.UpdateTargetFrame);
     removedCharacter -= new CharacterRemoved(UIManager.MyInstance.HideTargetFrame);
 }
Beispiel #4
0
 public void Clear()
 {
     LogEx.Log <FieldSlot>("Slot is now empty.");
     CharacterRemoved.InvokeSafe(Character);
     Character = null;
 }
Beispiel #5
0
        private static IntPtr ActiveCallback(int nCode, IntPtr wParam, IntPtr lParam)
        {
            currentWindow = WindowInfo.GetActiveWindowInfo();
            currentLang   = currentWindow.keyboardLayout & 0xFFFF;

            int vkCode = Marshal.ReadInt32(lParam);
            int flags  = Marshal.ReadInt32(lParam + 8);

            if (vkCode == 0x76) // F7
            {
                active = false;
                Deactivated?.Invoke();
            }

            if ((flags & 16) != 0)
            {
                return(IntPtr.Zero);              // инжектиран
            }
            if (vkCode == 0x26 || vkCode == 0x28) // up & down
            {
                if (ArrowKeysPressed != null)
                {
                    if (ArrowKeysPressed(vkCode == 0x26))
                    {
                        return((IntPtr)1);
                    }
                    else
                    {
                        return(IntPtr.Zero);
                    }
                }
            }
            else if (vkCode == 8)
            {
                CharacterRemoved?.Invoke();
                return(IntPtr.Zero);
            }

            char ch = VkToChar.GetChar(vkCode, currentLang);

            bool cond1         = (lastWindow != null) && (!currentWindow.Equals(lastWindow));
            bool cond2         = (lastLang != 0) && (currentLang != lastLang);
            bool terminateWord = cond1 || cond2;

            if (terminateWord)
            {
                Console.WriteLine("{0} {1}", cond1, cond2);
            }

            bool block = false;

            if (terminateWord)
            {
                WordActionHappened?.Invoke(WordAction.WordTerminated);
            }

            if (vkCode == tabCode)
            {
                block = AutoCompleteRequested != null?AutoCompleteRequested() : false;
            }
            else if (endCodes.Contains(vkCode))
            {
                WordActionHappened?.Invoke(WordAction.WordCompleted);
            }
            else if (ch != 0)
            {
                CharacterAdded?.Invoke(ch);
            }
            else
            {
                WordActionHappened?.Invoke(WordAction.WordTerminated);
            }

            lastLang   = currentLang;
            lastWindow = currentWindow;

            if (block)
            {
                return((IntPtr)1);
            }
            else
            {
                return(IntPtr.Zero);
            }
        }
Beispiel #6
0
 public virtual void Deselect()
 {
     healthChanged    -= new HealthChanged(UIManager.Instance.UpdateTargetFrame);
     characterRemoved -= new CharacterRemoved(UIManager.Instance.HideTargetFrame);
 }
Beispiel #7
0
 public void DeSelect()
 {
     healthGroup.alpha = 0;
     healthChanged    -= new HealthChanged(UIManager.MyInstance.UpdateTargetFrame);
     characterRemoved -= new CharacterRemoved(UIManager.MyInstance.HideTargetFrame);
 }