コード例 #1
0
 public TrackingGate(Gate g, GateCanvas gc)
 {
     this.g  = g;
     this.gc = gc;
     gc.Circuit.ReplaceGates += (sender2, e2) =>
     {
         if (e2.ContainsKey(this.g.AbGate) && e2[this.g.AbGate] != null)
         {
             Gate og = this.g;
             Gate ng = gc.FindGate(e2[this.g.AbGate]);
             this.g = ng;
         }
     };
 }
コード例 #2
0
    protected override void OnMouseOver()
    {
        //detect right click
        if (Input.GetMouseButtonDown(0))
        {
            if (click_parity % 2 == 0)
            {
                if (Vector3.Distance(TileMap.instance.DemonLord.transform.position, this.gameObject.transform.position) < 1.5)
                {
                    //display the gui
                    GateCanvas.SetActive(true);
                    foreach (Transform child in GateCanvas.transform)
                    {
                        if (TileMap.instance.tiles [x + 1, y] == 0 && child.name == "Right")
                        {
                            child.gameObject.SetActive(true);
                        }
                        if (x - 1 >= 0 && TileMap.instance.tiles [x - 1, y] == 0 && child.name == "Left")
                        {
                            child.gameObject.SetActive(true);
                        }
                        if (TileMap.instance.tiles [x, y + 1] == 0 && child.name == "Up")
                        {
                            child.gameObject.SetActive(true);
                        }
                        if (y - 1 >= 0 && TileMap.instance.tiles [x, y - 1] == 0 && child.name == "Down")
                        {
                            child.gameObject.SetActive(true);
                        }
                    }
                }
            }

            else
            {
                foreach (Transform child in GateCanvas.transform)
                {
                    child.gameObject.SetActive(false);
                }

                GateCanvas.SetActive(false);
            }
            click_parity++;
        }
    }
コード例 #3
0
    protected override void OnMouseOver()
    {
        //detect left click
        if (Input.GetMouseButtonDown(0))
        {
            if (click_parity % 2 == 0)
            {
                if (Vector3.Distance(TileMap.instance.DemonLord.transform.position, this.gameObject.transform.position) < 1.5)
                {
                    //display the gui
                    GateCanvas.SetActive(true);
                    if (!isOpen)
                    {
//						foreach (Transform child in GateCanvas.transform) {
//							if (child.gameObject != level_up)
//								child.gameObject.SetActive (true);
//						}
                        light_button.SetActive(true);
                        shadow_button.SetActive(true);
                    }
                    else
                    {
                        if (lambda < max_level)
                        {
                            level_up.SetActive(true);
                        }
                    }
                }
            }
            else
            {
                foreach (Transform child in GateCanvas.transform)
                {
                    child.gameObject.SetActive(false);
                }

                GateCanvas.SetActive(false);
            }
            click_parity++;
        }
    }
コード例 #4
0
    // Use this for initialization
    protected override void Start()
    {
        lambda       = 0;
        isOpen       = false;
        light_shadow = false;

        x = (int)transform.position.x;
        y = (int)transform.position.y;

        click_parity = 0;

        GateCanvas = transform.Find("GateCanvas").gameObject;
        GateCanvas.SetActive(false);
        foreach (Transform child in GateCanvas.transform)
        {
            child.gameObject.SetActive(false);
        }

        StartCoroutine(SpawnAtRandomLocation());
        //setupButtons ();
    }
コード例 #5
0
ファイル: GateUndos.cs プロジェクト: buptkang/LogicPad
 public AddGate(GateCanvas gc, Gate gate) : base(gate, gc)
 {
  
 }
コード例 #6
0
ファイル: GateUndos.cs プロジェクト: buptkang/LogicPad
 public RotateGate(Gate g, GateCanvas gc, double origin, double dest) : base(g, gc)
 {
     
     this.origin = origin;
     this.dest = dest;
     
 }
コード例 #7
0
ファイル: GateUndos.cs プロジェクト: buptkang/LogicPad
 public MoveGate(Gate g, GateCanvas gc, Point origin, Point dest) : base(g, gc)
 {
     
     this.origin = origin;
     this.dest = dest;
     
 }
コード例 #8
0
ファイル: GateUndos.cs プロジェクト: buptkang/LogicPad
        public TrackingGate(Gate g, GateCanvas gc)
        {
            this.g = g;
            this.gc = gc;
            gc.Circuit.ReplaceGates += (sender2, e2) =>
            {
                if (e2.ContainsKey(this.g.AbGate) && e2[this.g.AbGate] != null)
                {
                    Gate og = this.g;
                    Gate ng = gc.FindGate(e2[this.g.AbGate]);
                    this.g = ng;

                }
            };
        }
コード例 #9
0
        private void _adorner_MouseMove(object sender, MouseEventArgs e)
        {
            Point currentPoint = e.GetPosition(_topWindow);

            //currentPoint.X = currentPoint.X - 20;
            //currentPoint.Y = currentPoint.Y - 15;

            _delta        = new Point(_initialMousePosition.X - currentPoint.X, _initialMousePosition.Y - currentPoint.Y);
            _scrollTarget = new Point(_initialMousePosition.X - _delta.X, _initialMousePosition.Y - _delta.Y);

            Canvas.SetLeft(_adorner, _scrollTarget.X);
            Canvas.SetTop(_adorner, _scrollTarget.Y);

            _adorner.AdornerDropState = DropState.CannotDrop;

            if (_dropTarget != null)
            {
                try
                {
                    GeneralTransform t = _dropTarget.TransformToVisual(_adornerLayer);
                    _dropBoundingBox = t.TransformBounds(new Rect(0, 0, _dropTarget.RenderSize.Width, _dropTarget.RenderSize.Height));
                    //Unnamed team edit: droptarget is the layer where gates are dropped. Boundingbox is the limits.
                    GateCanvas gc = (GateCanvas)_dropTarget;

                    //Unnamed team edit: conditions for checking the adorner against the boundries.  Call scroller if true.
                    if (currentPoint.X > _dropBoundingBox.Right - 50)
                    {
                        ((GateCanvas)_dropTarget).GCScroller.ScrollToHorizontalOffset(
                            ((GateCanvas)_dropTarget).GCScroller.HorizontalOffset + 10);
                        //Unnamed team edit: turn off the size canvas method in order to resize the canvas, to increase scroll area.
                        gc.DisableSizeCanvas = true;
                        //increase scroll area.
                        gc.GC.Width += 5;
                    }
                    if (currentPoint.X < _dropBoundingBox.Left + 50)
                    {
                        ((GateCanvas)_dropTarget).GCScroller.ScrollToHorizontalOffset(
                            ((GateCanvas)_dropTarget).GCScroller.HorizontalOffset - 10);
                    }
                    if (currentPoint.Y < _dropBoundingBox.Top + 50)
                    {
                        ((GateCanvas)_dropTarget).GCScroller.ScrollToVerticalOffset(
                            ((GateCanvas)_dropTarget).GCScroller.VerticalOffset - 10);
                    }

                    if (currentPoint.Y > _dropBoundingBox.Bottom - 50)
                    {
                        ((GateCanvas)_dropTarget).GCScroller.ScrollToVerticalOffset(
                            ((GateCanvas)_dropTarget).GCScroller.VerticalOffset + 10);
                        gc.DisableSizeCanvas = true;
                        gc.GC.Height        += 5;
                    }
                    if (e.GetPosition(_adornerLayer).X > _dropBoundingBox.Left &&
                        e.GetPosition(_adornerLayer).X < _dropBoundingBox.Right &&
                        e.GetPosition(_adornerLayer).Y > _dropBoundingBox.Top &&
                        e.GetPosition(_adornerLayer).Y < _dropBoundingBox.Bottom)
                    {
                        _adorner.AdornerDropState = DropState.CanDrop;
                    }
                }
                catch (Exception) { }
            }
        }
コード例 #10
0
 public AddGate(GateCanvas gc, Gate gate) : base(gate, gc)
 {
 }
コード例 #11
0
 public RotateGate(Gate g, GateCanvas gc, double origin, double dest) : base(g, gc)
 {
     this.origin = origin;
     this.dest   = dest;
 }
コード例 #12
0
 public MoveGate(Gate g, GateCanvas gc, Point origin, Point dest) : base(g, gc)
 {
     this.origin = origin;
     this.dest   = dest;
 }