コード例 #1
0
ファイル: AkaliWBuff.cs プロジェクト: egedmz/LolUrfSandbox
        public void OnUpdate(double diff)
        {
            var unit   = curBuff.OriginSpell.Owner;
            var curPos = curBuff.TargetUnit.GetPosition();
            var dist   = Vector2.Distance(origin, curPos);

            if (dist >= radius)
            {
                unit.SetInvis(false);
                return;
            }
            if (unit.IsAttacking || unit.IsCastingSpell)
            {
                invisPenalty = true;
                unit.SetInvis(false);
                if (!(pTimer is null))
                {
                    pTimer.EndTimerWithoutCallback();
                }
                if (curBuff.Duration - curBuff.TimeElapsed > 2.0f)
                {
                    pTimer = CreateTimer(1.5f, () =>
                    {
                        invisPenalty = false;
                    });
                }
            }
            if (!invisPenalty)
            {
                unit.SetInvis(true);
            }
        }
コード例 #2
0
        public static GameScriptTimer CreateTimer(float duration, Action callback)
        {
            var newTimer = new GameScriptTimer(duration, callback);

            _game.AddGameScriptTimer(newTimer);
            return(newTimer);
        }
コード例 #3
0
 public void RemoveGameScriptTimer(GameScriptTimer timer)
 {
     _gameScriptTimers.Remove(timer);
 }
コード例 #4
0
 public void AddGameScriptTimer(GameScriptTimer timer)
 {
     _gameScriptTimers.Add(timer);
 }