Cannot place a tree on top of a tree
This commit is contained in:
		| @@ -502,6 +502,23 @@ namespace EduNetworkBuilder | |||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         public bool BlockedByTree(Point NetworkLocation) | ||||||
|  |         { | ||||||
|  |             NetworkDevice tDevice; | ||||||
|  |             foreach (NetworkComponent tItem in NetComponents) | ||||||
|  |             { | ||||||
|  |                 if (tItem is NetworkDevice) | ||||||
|  |                 { | ||||||
|  |                     tDevice = (NetworkDevice)tItem; | ||||||
|  |                     if (tDevice.GetNetType() != NetworkComponentType.tree) continue; //We only care about trees | ||||||
|  |                     Rectangle myRec = tDevice.GetMyRectangle(); | ||||||
|  |                     if (myRec.Contains(NetworkLocation)) | ||||||
|  |                         return true; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             return false; | ||||||
|  |         } | ||||||
|  |  | ||||||
|         public NetworkLink LinkAtPosition(Point NetworkLocation) |         public NetworkLink LinkAtPosition(Point NetworkLocation) | ||||||
|         { |         { | ||||||
|             NetworkLink tLink; |             NetworkLink tLink; | ||||||
|   | |||||||
| @@ -1487,7 +1487,22 @@ namespace EduNetworkBuilder | |||||||
|                             NC = myNetwork.AddItem(NetworkComponentType.wrepeater, CenteredLocation); |                             NC = myNetwork.AddItem(NetworkComponentType.wrepeater, CenteredLocation); | ||||||
|                             break; |                             break; | ||||||
|                         case "btnTree": |                         case "btnTree": | ||||||
|  |                             bool CanDo = true; | ||||||
|  |                             Point TopLeft = CenteredLocation; | ||||||
|  |                             Point TopRight = new Point(TopLeft.X + myNetwork.itemsize, TopLeft.Y); | ||||||
|  |                             Point BottomRight = new Point(TopLeft.X + myNetwork.itemsize, TopLeft.Y + myNetwork.itemsize); | ||||||
|  |                             Point BottomLeft = new Point(TopLeft.X, TopLeft.Y + myNetwork.itemsize); | ||||||
|  |                             if (myNetwork.BlockedByTree(ClickedLocation)) CanDo = false; | ||||||
|  |                             if (myNetwork.BlockedByTree(TopLeft)) CanDo = false; | ||||||
|  |                             if (myNetwork.BlockedByTree(TopRight)) CanDo = false; | ||||||
|  |                             if (myNetwork.BlockedByTree(BottomRight)) CanDo = false; | ||||||
|  |                             if (myNetwork.BlockedByTree(BottomLeft)) CanDo = false; | ||||||
|  |                             if(CanDo) | ||||||
|                                 NC = myNetwork.AddItem(NetworkComponentType.tree, CenteredLocation); |                                 NC = myNetwork.AddItem(NetworkComponentType.tree, CenteredLocation); | ||||||
|  |                             else | ||||||
|  |                             { | ||||||
|  |                                 lblStatus.Text = NB.Translate("NB_TreePlacementError"); | ||||||
|  |                             } | ||||||
|                             break; |                             break; | ||||||
|  |  | ||||||
|                     } |                     } | ||||||
|   | |||||||
| @@ -2033,4 +2033,8 @@ | |||||||
|     <value>Add a tree to the network to block wireless signals</value> |     <value>Add a tree to the network to block wireless signals</value> | ||||||
|     <comment>NB_BuildBtnTree = Add a tree to the network to block wireless signals</comment> |     <comment>NB_BuildBtnTree = Add a tree to the network to block wireless signals</comment> | ||||||
|   </data> |   </data> | ||||||
|  |   <data name="NB_TreePlacementError" xml:space="preserve"> | ||||||
|  |     <value>Cannot place a tree on top of a tree.</value> | ||||||
|  |     <comment>NB_TreePlacementError = Cannot place a tree on top of a tree.</comment> | ||||||
|  |   </data> | ||||||
| </root> | </root> | ||||||
		Reference in New Issue
	
	Block a user