예제 #1
0
파일: Main.cs 프로젝트: SNest/FS
        private void AddEventBtnClick(object sender, EventArgs e)
        {
            var selectedNode = mainTreeView.SelectedNode;

            if (selectedNode == null | shapeNode.IsSelected)
            {
                shapeManager.AddKickEvent();
            }
            else if (shapeNode.Nodes.Contains(selectedNode))
            {
                var shapes = shapeManager.GetShapes(selectedNode.Text);
                shapeManager.AddKickEvent(shapes);
            }
            else
            {
                var shape = shapeManager.GetShape(selectedNode.Parent.Text, selectedNode.Index);
                shapeManager.AddKickEvent(shape);
            }
        }
예제 #2
0
        private void AddDropDownItems()
        {
            IList <ShapeInfo> valueChoices = this.setting.ValueChoices;

            WorkItemDispatcher.Default.Enqueue(delegate {
                foreach (ShapeInfo info in this.setting.ValueChoices)
                {
                    Shape shape = ShapeManager.GetShape(info);
                    WorkItemDispatcher.Default.Enqueue(() => Image reference = shape.GetImageResourceDip(0x18).Reference, WorkItemQueuePriority.AboveNormal);
                }
            }, WorkItemQueuePriority.AboveNormal);
예제 #3
0
        static void TestShapes()
        {
            ShapeManager.loadCache();

            Shape clonedShape = (Shape)ShapeManager.GetShape("1");

            Debug.WriteLine("Shape : " + clonedShape.getType());

            Shape clonedShape2 = (Shape)ShapeManager.GetShape("2");

            Debug.WriteLine("Shape : " + clonedShape2.getType());

            Shape clonedShape3 = (Shape)ShapeManager.GetShape("3");

            Debug.WriteLine("Shape : " + clonedShape3.getType());
        }
예제 #4
0
 public ShapeTypeDropDownButton(StaticListChoiceSetting <ShapeInfo> setting)
 {
     Validate.IsNotNull <StaticListChoiceSetting <ShapeInfo> >(setting, "setting");
     this.setting = setting;
     this.setting.ValueChangedT += new ValueChangedEventHandler <ShapeInfo>(this.OnSettingValueChanged);
     this.DisplayStyle           = ToolStripItemDisplayStyle.Image;
     base.AutoSize    = true;
     base.AutoToolTip = false;
     base.Available   = false;
     base.ToolTipText = PdnResources.GetString("ToolConfigUI.ShapeTypeDropDownButton.ToolTipText");
     WorkItemDispatcher.Default.Enqueue(delegate {
         foreach (ShapeInfo info in this.setting.ValueChoices)
         {
             Image reference = ShapeManager.GetShape(info).GetImageResourceDip(0x18).Reference;
         }
     }, WorkItemQueuePriority.BelowNormal);
     base.DropDownOpening += new EventHandler(this.OnDropDownOpening);
 }
예제 #5
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyUp(KeyCode.Space) && sc.Ready())
        {
            lc.NextTurn();
        }

        if (dragging && Input.GetKeyUp(KeyCode.Q))
        {
            dragged.transform.Rotate(Vector3.forward, 60f);
            selected.transform.Rotate(Vector3.forward, 60f);
        }

        if (dragging && Input.GetKeyUp(KeyCode.E))
        {
            dragged.transform.Rotate(Vector3.forward, -60f);
            selected.transform.Rotate(Vector3.forward, -60f);
        }


        if (Input.GetMouseButtonDown(0))
        {
            lastPos = mousePos;
        }

        mousePos = Camera.main.ScreenToWorldPoint(new Vector2(Input.mousePosition.x, Input.mousePosition.y));

//		Debug.Log ("last: " + lastPos + "cur: " + mousePos);

        if (Input.GetMouseButtonUp(0) && lastPos == mousePos && dragging)
        {
//			Debug.Log (5);
            if (LayerMask.NameToLayer("Map") == -1)
            {
//				Debug.Log ("problem");
            }
            hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero, Mathf.Infinity, LayerMask.GetMask("Map"));
            if (hit.collider != null && mc.CheckMapTile(hit.collider.gameObject.GetComponent <TileManager> ()))
            {
//				Debug.Log (6);
                sc.PlaceShape(selected.GetComponent <ShapeManager> ());
                selected.transform.position = hit.collider.transform.position;
                GameObject.Destroy(dragged);
                dragging = false;
                return;
            }
            else if (hit.collider != null)
            {
//				Debug.Log (hit.collider.gameObject);
            }
        }

        if (Input.GetMouseButtonUp(0) && lastPos == mousePos && !dragging)
        {
//			Debug.Log (1);

            hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);

            if (hit.collider != null)
            {
                ShapeManager sm = hit.collider.gameObject.GetComponentInParent <Transform> ().GetComponentInParent <ShapeManager> ();
                if (sc.Enqueued(sm))
                {
//					Debug.Log (2);
                    dragging = true;
                    selected = sm.gameObject;
                    dragged  = GameObject.Instantiate(SelectPrefab.PreviewHex(GetColorFromShapeID(sm.GetShape().ID)), new Vector3(), Quaternion.identity) as GameObject;
//					Debug.Log (selected);
                }
            }
        }

        if (dragging)
        {
//			Debug.Log (3);
            hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
            if (hit.collider != null)
            {
                TileManager tm = hit.collider.gameObject.GetComponent <TileManager> ();
                if (mc.CheckMapTile(tm))
                {
//					Debug.Log (4);
                    if (Mathf.Abs(tm.MT.R) < Constants.mapRadius - 1 && Mathf.Abs(tm.MT.B) < Constants.mapRadius - 1 && Mathf.Abs(tm.MT.G) < Constants.mapRadius - 1)
                    {
                        dragged.transform.position = hit.collider.transform.position;
                    }

//					if (Input.GetMouseButtonUp (0) && lastPos == mousePos){
//						Debug.Log (5);
//						sc.PlaceShape (gameObject.GetComponent<ShapeManager> ());
//						dragging = false;
//					}
//					else{
//						if(Input.GetMouseButtonUp (0)){
//							Debug.Log ((lastPos == mousePos) + " " + lastPos + " " + mousePos);
//						}
//					}
                }
            }
        }
    }