Cannot place a tree on top of a tree
This commit is contained in:
parent
ef54588253
commit
a41aee0dc4
@ -502,6 +502,23 @@ namespace EduNetworkBuilder
|
||||
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)
|
||||
{
|
||||
NetworkLink tLink;
|
||||
|
@ -1487,7 +1487,22 @@ namespace EduNetworkBuilder
|
||||
NC = myNetwork.AddItem(NetworkComponentType.wrepeater, CenteredLocation);
|
||||
break;
|
||||
case "btnTree":
|
||||
NC = myNetwork.AddItem(NetworkComponentType.tree, CenteredLocation);
|
||||
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);
|
||||
else
|
||||
{
|
||||
lblStatus.Text = NB.Translate("NB_TreePlacementError");
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
@ -2033,4 +2033,8 @@
|
||||
<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>
|
||||
</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>
|
Loading…
Reference in New Issue
Block a user