コード例 #1
0
 public void OnPointerDown(PointerEventData eventData)
 {
     if (DownEvent != null)
     {
         DownEvent.Invoke(Slot);
     }
 }
コード例 #2
0
        internal List <List <Segment> > GetLifeSpanSegments(ParsedEvtcLog log)
        {
            var  minionsSegments = new List <List <Segment> >();
            long fightDur        = log.FightData.FightEnd;

            foreach (NPC minion in _minionList)
            {
                var  minionSegments = new List <Segment>();
                long start          = Math.Max(minion.FirstAware, 0);
                // Find end
                long      end  = minion.LastAware;
                DownEvent down = log.CombatData.GetDownEvents(minion.AgentItem).LastOrDefault();
                if (down != null)
                {
                    end = Math.Min(down.Time, end);
                }
                DeadEvent dead = log.CombatData.GetDeadEvents(minion.AgentItem).LastOrDefault();
                if (dead != null)
                {
                    end = Math.Min(dead.Time, end);
                }
                DespawnEvent despawn = log.CombatData.GetDespawnEvents(minion.AgentItem).LastOrDefault();
                if (despawn != null)
                {
                    end = Math.Min(despawn.Time, end);
                }
                //
                end = Math.Min(end, fightDur);
                minionSegments.Add(new Segment(0, start, 0));
                minionSegments.Add(new Segment(start, end, 1));
                minionSegments.Add(new Segment(end, fightDur, 0));
                minionsSegments.Add(minionSegments);
            }
            return(minionsSegments);
        }
コード例 #3
0
    void DownClick()
    {
        IEvent eve = new DownEvent();

        SfAddEvent.Instance.Trigger((int)ProtocalID.Move_Main, eve);
        string str = string.Format("向后 mainID:{0} ", eve.Type);

        Debug.Log(str);
    }
コード例 #4
0
ファイル: PlayBottomUI.cs プロジェクト: ChanUkLee/Tetris
    public void Initialize(LeftEvent leftEvent, RightEvent rightEvent, UpEvent upEvent, DownEvent downEvent)
    {
        Initialize();

        this._leftEvent = leftEvent;
        this._rightEvent = rightEvent;
        this._upEvent = upEvent;
        this._downEvent = downEvent;
    }
        private async Task SendDownNotifications()
        {
            while (true)
            {
                await Task.Delay(_random.Next(3000));

                Application.Current.Dispatcher?.Invoke(() => DownEvent?.Invoke(this, EventArgs.Empty));
            }
        }
コード例 #6
0
ファイル: characterMovement.cs プロジェクト: MatiGoose/Runner
 void Jumping()
 {
     if (isGround && Input.GetKeyDown(KeyCode.Space))//Start Jumping
     {
         isJumping       = true;
         jumpTimeCounter = jumpTime;
         rb.velocity     = Vector3.up * jumpVelocity;
         isGround        = false;
         if (JumpEvent != null)
         {
             JumpEvent.Invoke();
         }
     }
     if (Input.GetKey(KeyCode.Space) && isJumping) //Jumping
     {
         if (jumpTimeCounter > 0)                  //Jumping Time didn't end
         {
             rb.velocity      = Vector3.up * jumpVelocity;
             jumpTimeCounter -= Time.deltaTime;
         }
         else//Jumping Time Ended
         {
             if (DownEvent != null)
             {
                 DownEvent.Invoke();
             }
             isJumping = false;
             isDown    = true;
         }
     }
     if (Input.GetKeyUp(KeyCode.Space))//End Jump (getkeyUP)
     {
         if (DownEvent != null)
         {
             DownEvent.Invoke();
         }
         isJumping = false;
         isDown    = true;
     }
     if ((camera.transform.position.z - transform.position.z) <= zDistance)
     {
         isDown = false;
     }
 }
コード例 #7
0
ファイル: WinAPI.cs プロジェクト: AlphaDelta/Out-Of-The-Box
            public static IntPtr proc(int nCode, uint wParam, IntPtr lParam)
            {
                if (nCode >= 0)
                {
                    if (wParam == WM_KEYDOWN)
                    {
                        KBDLLHOOKSTRUCT hookStruct = (KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(KBDLLHOOKSTRUCT));

                        States[hookStruct.vkCode - 1] = true;

                        if (DownEvent != null)
                        {
                            Delegate[] receivers = DownEvent.GetInvocationList();
                            foreach (DownEventHandler receiver in receivers)
                            {
                                receiver.BeginInvoke(new DownEventArgs(hookStruct.vkCode), EndDownEvent, null);
                            }
                        }
                    }
                    else if (wParam == WM_KEYUP)
                    {
                        KBDLLHOOKSTRUCT hookStruct = (KBDLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(KBDLLHOOKSTRUCT));

                        States[hookStruct.vkCode - 1] = false;

                        if (UpEvent != null)
                        {
                            Delegate[] receivers = UpEvent.GetInvocationList();
                            foreach (UpEventHandler receiver in receivers)
                            {
                                receiver.BeginInvoke(new UpEventArgs(hookStruct.vkCode), EndUpEvent, null);
                            }
                        }
                    }
                }
                return(CallNextHookEx(hook, nCode, wParam, lParam));
            }
コード例 #8
0
 private void MouseDown()
 {
     DownEvent?.Invoke();
 }
コード例 #9
0
        public DeathRecap(List <AbstractDamageEvent> damageLogs, DeadEvent dead, List <DownEvent> downs, long lastDeathTime)
        {
            DownEvent downed = downs.LastOrDefault(x => x.Time <= dead.Time && x.Time >= lastDeathTime);

            if (downed != null)
            {
                var damageToDown = damageLogs.Where(x => x.Time <= downed.Time && (x.HasHit || x.HasDowned) && x.Time > lastDeathTime).ToList();
                ToDown = damageToDown.Count > 0 ? new List <DeathRecapDamageItem>() : null;
                int damage = 0;
                for (int i = damageToDown.Count - 1; i >= 0; i--)
                {
                    AbstractDamageEvent dl = damageToDown[i];
                    AgentItem           ag = dl.From;
                    var item = new DeathRecapDamageItem()
                    {
                        Time           = (int)dl.Time,
                        IndirectDamage = dl is NonDirectDamageEvent,
                        ID             = dl.SkillId,
                        Damage         = dl.Damage,
                        Src            = ag != null?ag.Name.Replace("\u0000", "").Split(':')[0] : ""
                    };
                    damage += dl.Damage;
                    ToDown.Add(item);
                    if (damage > 20000)
                    {
                        break;
                    }
                }
                var damageToKill = damageLogs.Where(x => x.Time > downed.Time && x.Time <= dead.Time && (x.HasHit || x.HasDowned) && x.Time > lastDeathTime).ToList();
                ToKill = damageToKill.Count > 0 ? new List <DeathRecapDamageItem>() : null;
                for (int i = damageToKill.Count - 1; i >= 0; i--)
                {
                    AbstractDamageEvent dl = damageToKill[i];
                    AgentItem           ag = dl.From;
                    var item = new DeathRecapDamageItem()
                    {
                        Time           = (int)dl.Time,
                        IndirectDamage = dl is NonDirectDamageEvent,
                        ID             = dl.SkillId,
                        Damage         = dl.Damage,
                        Src            = ag != null?ag.Name.Replace("\u0000", "").Split(':')[0] : ""
                    };
                    ToKill.Add(item);
                }
            }
            else
            {
                ToDown = null;
                var damageToKill = damageLogs.Where(x => x.Time < dead.Time && x.Damage > 0 && x.Time > lastDeathTime).ToList();
                ToKill = damageToKill.Count > 0 ? new List <DeathRecapDamageItem>() : null;
                int damage = 0;
                for (int i = damageToKill.Count - 1; i >= 0; i--)
                {
                    AbstractDamageEvent dl = damageToKill[i];
                    AgentItem           ag = dl.From;
                    var item = new DeathRecapDamageItem()
                    {
                        Time           = (int)dl.Time,
                        IndirectDamage = dl is NonDirectDamageEvent,
                        ID             = dl.SkillId,
                        Damage         = dl.Damage,
                        Src            = ag != null?ag.Name.Replace("\u0000", "").Split(':')[0] : ""
                    };
                    damage += dl.Damage;
                    ToKill.Add(item);
                    if (damage > 20000)
                    {
                        break;
                    }
                }
            }
        }