예제 #1
0
 public void OnComplete(Tweener tweener)
 {
     Kill();
     if (_callback != null)
     {
         _callback.Call();
     }
 }
예제 #2
0
            private void EncodeAsBinary(Packet obj, ICallback callback)
            {
                Binary.DeconstructedPacket deconstruction = Binary.DeconstructPacket(obj);
                String pack    = EncodeAsString(deconstruction.Packet);
                var    buffers = new List <object>();

                foreach (var item in deconstruction.Buffers)
                {
                    buffers.Add(item);
                }

                buffers.Insert(0, pack);
                callback.Call(buffers.ToArray());
            }
예제 #3
0
            public void Encode(Packet obj, ICallback callback)
            {
                var log = LogManager.GetLogger(Global.CallerName());
                log.Info(string.Format("encoding packet {0}", obj));

                if (BINARY_EVENT == obj.Type || BINARY_ACK == obj.Type)
                {
                    EncodeAsBinary(obj, callback);
                }
                else
                {
                    String encoding = EncodeAsString(obj);
                    callback.Call(new object[] { encoding });
                }
            }
예제 #4
0
            public void Encode(Packet obj, ICallback callback)
            {
                var log = LogManager.GetLogger(Global.CallerName());

                log.Info(string.Format("encoding packet {0}", obj));

                if (BINARY_EVENT == obj.Type || BINARY_ACK == obj.Type)
                {
                    EncodeAsBinary(obj, callback);
                }
                else
                {
                    String encoding = EncodeAsString(obj);
                    callback.Call(new object[] { encoding });
                }
            }
예제 #5
0
        public override void Update()
        {
            base.Update();

            if ((_life -= Game.Elapsed) < 0)
            {
                KillAndErase();
                if (_callback != null)
                {
                    _callback.Call();
                }
            }
            else
            {
                var alpha = _life / Duration;

                for (var i = 0; i < _length - 1; i++)
                {
                    var sx = _cx[i];
                    var sy = _cy[i];
                    var ex = _cx[i + 1];
                    var ey = _cy[i + 1];

                    var x2 = (sx + ex) / 2 + pdsharp.utils.Random.Float(-4, +4);
                    var y2 = (sy + ey) / 2 + pdsharp.utils.Random.Float(-4, +4);

                    var dx  = x2 - sx;
                    var dy  = y2 - sy;
                    var arc = _arcsS[i];
                    arc.Am      = alpha;
                    arc.Angle   = (float)(Math.Atan2(dy, dx) * A);
                    arc.Scale.X = (float)Math.Sqrt(dx * dx + dy * dy) / arc.Width;

                    dx          = ex - x2;
                    dy          = ey - y2;
                    arc         = _arcsE[i];
                    arc.Am      = alpha;
                    arc.Angle   = (float)(Math.Atan2(dy, dx) * A);
                    arc.Scale.X = (float)Math.Sqrt(dx * dx + dy * dy) / arc.Width;
                    arc.X       = x2 - arc.Origin.X;
                    arc.Y       = y2 - arc.Origin.Y;
                }
            }
        }
예제 #6
0
 public virtual void OnComplete(Animation anim)
 {
     if (AnimCallback != null)
     {
         AnimCallback.Call();
         AnimCallback = null;
     }
     else
     {
         if (anim == AttackAnimation)
         {
             Idle();
             Ch.OnAttackComplete();
         }
         else if (anim == OperateAnimation)
         {
             Idle();
             Ch.OnOperateComplete();
         }
     }
 }
예제 #7
0
        public override void Update()
        {
            base.Update();

            if (!On)
            {
                return;
            }

            var d = Game.Elapsed;

            x += _sx * d;
            y += _sy * d;

            if (!((_time -= d) <= 0))
            {
                return;
            }

            On = false;
            _callback.Call();
        }
예제 #8
0
 protected internal override void Fx(int cell, ICallback callback)
 {
     cell = Ballistica.Trace[Math.Min(Ballistica.Distance, Distance()) - 1];
     CurUser.Sprite.Parent.Add(new DeathRay(CurUser.Sprite.Center(), DungeonTilemap.TileCenterToWorld(cell)));
     callback.Call();
 }
예제 #9
0
            private void EncodeAsBinary(Packet obj, ICallback callback)
            {
                Binary.DeconstructedPacket deconstruction = Binary.DeconstructPacket(obj);
                String pack = EncodeAsString(deconstruction.Packet);
                var buffers = new List<object>();
                foreach (var item in deconstruction.Buffers)
                {
                    buffers.Add(item);
                }                    

                buffers.Insert(0, pack);
                callback.Call(buffers.ToArray());
            }
예제 #10
0
 public void Register(ICallback callback)
 {
     callback.Call("accepted");
     _callbacks.Add(callback);
 }