public async Task Group_MessageTypeIsSticker_ReturnsMessage() { ILineBot bot = TestConfiguration.CreateBot(); TestHttpRequest request = new TestHttpRequest(JsonDocuments.Events.Messages.Sticker); IEnumerable <ILineEvent> events = await bot.GetEvents(request); Assert.AreEqual(1, events.Count()); ILineEvent lineEvent = events.First(); IEventSource source = lineEvent.Source; Assert.IsNotNull(source); Assert.AreEqual(EventSourceType.User, source.SourceType); Assert.AreEqual("U206d25c2ea6bd87c17655609a1c37cb8", source.User.Id); Assert.AreEqual("nHuyWiB7yP5Zw52FIkcQobQuGDXCTA", lineEvent.ReplyToken); Assert.IsNotNull(lineEvent.Message); Assert.AreEqual("325708", lineEvent.Message.Id); Assert.IsNull(lineEvent.Message.Location); Assert.AreEqual(MessageType.Sticker, lineEvent.Message.MessageType); Assert.AreEqual("nHuyWiB7yP5Zw52FIkcQobQuGDXCTA", lineEvent.Message.ReplyToken); Assert.IsNull(lineEvent.Message.Text); ISticker sticker = lineEvent.Message.Sticker; Assert.IsNotNull(sticker); Assert.AreEqual("1", sticker.PackageId); Assert.AreEqual("2", sticker.StickerId); }
public virtual void SetStickingObject(ISticker sticker) { this.sticker = sticker; if (sticker != null) { touchDownX = (sticker as DynamicGameObject).Position.X - this.Position.X; } }
public RectangleBlock(World world) : base(world) { this.IsGravityDisabled = true; sticker = null; this.Shape = new WrapperRectangle(this); this.CollisionDetector = new RectangleCollisionDetector(this); }
public void SetStickingObject(ISticker sticker) { if (this.sticker == null && sticker != null) { DynamicGameObject col = sticker as DynamicGameObject; Vector2 thisPos = this.position; Vector2 spos = col.Position; float delX = thisPos.X - spos.X; float delY = thisPos.Y - spos.Y; float hyp = (float)Math.Sqrt(delX * delX + delY * delY); float ang = (float)Math.Asin(delX / hyp); stickingAngle = ang + (float)Math.PI / 2; if (delY > 0) stickingAngle = -stickingAngle; } this.sticker = sticker; }
public void ReleaseStickingObject() { sticker = null; }
public void SetStickingObject(ISticker sticker) { this.sticker = sticker; if (sticker != null) { ICircle ball = ((sticker as DynamicGameObject).Shape as ICircle); Vector2 normal; VectorUtil.intersect(LineStart, LineEnd, ball.Position, out normal); Vector2 unitNormal = VectorUtil.Unitize(normal); Vector2 pt1 = LineStart; Vector2 pt2 = LineEnd; Vector2 bp = ball.Position; normal = unitNormal * (ball.Radius); Vector2 tl = new Vector2(pt1.X - pt2.X, pt1.Y - pt2.Y); Vector2 bv = new Vector2(bp.X - pt2.X, bp.Y - pt2.Y); Vector2 ball_on_line = VectorUtil.Project(bv, tl); deltaVector = new Vector2(ball_on_line.X, ball_on_line.Y); normalVector.X = normal.X; normalVector.Y = normal.Y; } }
public override void SetStickingObject(ISticker sticker) { this.sticker = sticker; }
/// <summary> /// <inheritdoc/> /// </summary> /// <param name="sticker">Sticker object with all data to set</param> public SetSticker(ISticker sticker) { Command = $"sticker set {sticker.Type} \"{sticker.Path}\" {sticker.Name} {sticker.Value}"; }
/// <summary> /// <inheritdoc/> /// </summary> /// <param name="sticker">Sticker object to delete, needs at least a path.</param> public DeleteSticker(ISticker sticker) { Command = $"sticker set {sticker.Type} \"{sticker.Path}\" {sticker.Name ?? ""}"; }