Ejemplo n.º 1
0
 public override void Update(IMap map, float seconds)
 {
     if (flickering < -maxflicker)
         more = true;
     else if (flickering > maxflicker)
         more = false;
     flickering += more ? speed * seconds : -speed * seconds;
     if (map.GetTrigger("MoveCat1"))
     {
         IGORR.Protocol.Messages.SetGlowMessage sgm = (IGORR.Protocol.Messages.SetGlowMessage)map.ObjectManager.Server.ProtocolHelper.NewMessage(IGORR.Protocol.MessageTypes.SetGlow);
         sgm.id = _id;
         sgm.Position = MidPosition - Vector2.UnitY * 20;
         sgm.radius = baseRadius + flickering;
         sgm.Encode();
         if (baseRadius < 55)
             baseRadius += 110 * seconds;
         //18,11
         if (map.GetTrigger("MoveCat2") && !_changedPosition)
         {
             this.Position = new Vector2(18 * 16, 11 * 16);
             _changedPosition = true;
         }
         if (map.GetTrigger("MoveCat3"))
         {
             baseRadius -= 220 * seconds;
             sgm = (IGORR.Protocol.Messages.SetGlowMessage)map.ObjectManager.Server.ProtocolHelper.NewMessage(IGORR.Protocol.MessageTypes.SetGlow);
             sgm.id = _id;
             sgm.Position = MidPosition - Vector2.UnitY * 20;
             sgm.radius = baseRadius;
             if (baseRadius < -1)
             {
                 map.ObjectManager.Remove(this);
                 sgm.radius = -1;
             }
             sgm.Encode();
         }
         map.ObjectManager.Server.SendAllMap(map, sgm,false);
     }
     base.Update(map,seconds);
 }