private void RestoringPositionalBinding(object sender, PositionalEventArgs <TBoard> e) { Dispatcher.Invoke((Action) delegate() { foreach (UIElement child in this.Children) { if (!(child is PositionalUI <TBoard>)) { continue; } PositionalUI <TBoard> childUI = child as PositionalUI <TBoard>; if (childUI.Logic.Equals(e.Positional)) { DoubleAnimation animateOpacity = new DoubleAnimation(); animateOpacity.From = 0; animateOpacity.To = 1; animateOpacity.Duration = TimeSpan.Parse("0:0:2"); animateOpacity.BeginTime = TimeSpan.Parse("0:0:0.75"); childUI.BeginAnimation(OpacityProperty, animateOpacity); break; } } }); }
private void RemovingPositionalBinding(object sender, PositionalEventArgs <TBoard> e) { Dispatcher.Invoke((Action) delegate() { foreach (UIElement child in this.Children) { // we do not bother with things that are not of type PositionalUI onwards if (!(child is PositionalUI <TBoard>)) { continue; } PositionalUI <TBoard> childUI = child as PositionalUI <TBoard>; if (childUI.Logic.Equals(e.Positional)) { Children.Remove(childUI); break; } } }); // wow the image is removed from the BoardUI. // but the collidable still exists in the Board, so monkey will seem to collide with empty air. Let's remove that, shall we? foreach (Positional <TBoard> p in Board.CollisionManager.CollidableList) { if (p.Equals(e.Positional)) { Board.CollisionManager.CollidableList.Remove(p as Collidable <TBoard>); break; } } }
private void AddingPositionalBinding(object sender, PositionalEventArgs <TBoard> e) { Dispatcher.Invoke((Action) delegate() { AddFromLogic(e.Positional); }); }
private void AddKillBlock(object sender, PositionalEventArgs e) { var go = new GameObject("KillBlock"); go.tag = "Kill"; go.transform.SetParent(gameObject.transform); go.transform.localPosition = new Vector3(e.X, e.Y, 0); var boxCollider = go.AddComponent <BoxCollider2D>(); boxCollider.size = new Vector2(8, 8); boxCollider.offset = new Vector2(4, -4); }
private void TempRemovingPositionalBinding(object sender, PositionalEventArgs <TBoard> e) { Dispatcher.Invoke((Action) delegate() { foreach (UIElement child in this.Children) { if (!(child is PositionalUI <TBoard>)) { continue; } PositionalUI <TBoard> childUI = child as PositionalUI <TBoard>; if (childUI.Logic.Equals(e.Positional)) { childUI.Opacity = 0; break; } } }); }