private string GetCreationObjectError(Oobject tempObject) { if (string.IsNullOrWhiteSpace(tbObjectName.Text)) { return(sayObjectMustHaveName); } if (tbObjectName.Text.ToLower() == tVObjects.Nodes[0].Text.ToLower() && tVObjects.SelectedNode != tVObjects.Nodes[0]) { return(tVObjects.Nodes[0].Text + " " + sayIsAReservedName); } if (tbObjectName.Text.ToLower() == Oobject.newObjectName.ToLower()) { return(Oobject.newObjectName + " " + sayIsAReservedName); } if (tempObject is AccessPointObject) { AccessPointObject apObject = (AccessPointObject)tempObject; bool foundRelativeAccessPoint = false; foreach (var ap in tempAccessPoints) { if (ap.Direction == cBApObjDir.Text) { foundRelativeAccessPoint = true; } } if (!foundRelativeAccessPoint) { return(SayNoRelativeAccessPointFound); } } return(null); }
internal Oobject CreateNewObject(TreeNode selectedNode, String objectType) { Inventory currentInventory = TreeNodeDict.GetInventory(selectedNode); Oobject newObject; switch (objectType) { case Oobject.AccessPointObjectType: newObject = new AccessPointObject(currentInventory); break; default: newObject = new SolidObject(currentInventory); break; } newObject.Noun.Singular = "New Object"; //currentInventory.Add(newObject); TreeNode childNode = selectedNode.Nodes.Add(newObject.Noun.Singular); TreeNodeDict.Add(childNode, newObject); fillTreeNode(); return(newObject); }
public GoAction(Player player, World world, Oobject obj) : base(player: player, world: world) { if (obj is AccessPointObject) { AccessPointObject apObj = (AccessPointObject)obj; direction = apObj.Direction.ToLower(); } else { objectToGo = obj; } }
private void btnSaveObject_Click(object sender, EventArgs e) { TreeNode selectedNode = tVObjects.SelectedNode; tempObject = objectEditor.GetCurrentObjectSelected(selectedNode); string error = GetCreationObjectError(tempObject); if (error == null) { selectedNode.Text = tempObject.Noun.Singular; Inventory parentInventory = tempObject.ParentInventory; tempObject.HasAboveContainer = chBxAboveContainer.Checked; tempObject.HasInsideContainer = chBxInsideContainer.Checked; tempObject.HasUnderContainer = chBxUnderContainer.Checked; if (parentInventory != null) { if (parentInventory.IsObjectExisting(tempObject)) { tempObject.CreateInventories(); } else { //create obj parentInventory.Add(tempObject); tempObject.CreateInventories(); } } else //we are editing the void container { } if (tempObject is AccessPointObject) { AccessPointObject apObject = (AccessPointObject)tempObject; apObject.Direction = cBApObjDir.Text; } Oobject currentSelectedObject = tempObject; objectEditor.RefreshTreeNodeDict(); tVObjects.SelectedNode = objectEditor.SelectCorrespondingNode(currentSelectedObject); } else { MessageBox.Show(error); } }
private void UpdatePnlObj(Oobject currentObject) { tbObjectName.Text = currentObject.Noun.Singular; chBxAboveContainer.Checked = currentObject.HasAboveContainer; chBxInsideContainer.Checked = currentObject.HasInsideContainer; chBxUnderContainer.Checked = currentObject.HasUnderContainer; if (tVObjects.SelectedNode == tVObjects.Nodes[0]) { tbObjectName.Enabled = false; chBxAboveContainer.Enabled = false; chBxInsideContainer.Enabled = false; chBxUnderContainer.Enabled = false; btnDeleteObject.Enabled = false; } else { tbObjectName.Enabled = true; chBxAboveContainer.Enabled = true; chBxInsideContainer.Enabled = true; chBxUnderContainer.Enabled = true; btnDeleteObject.Enabled = true; } if (currentObject is AccessPointObject) { AccessPointObject apObject = (AccessPointObject)currentObject; gBAccessPointSetup.Visible = true; List <String> availableDirections = new List <string>(); cBApObjDir.Items.Clear(); cBApObjDir.Items.Add("NONE"); foreach (var ap in tempAccessPoints) { cBApObjDir.Items.Add(ap.Direction); } String apObjectDirection = apObject.Direction; cBApObjDir.SelectedItem = apObjectDirection; } else { gBAccessPointSetup.Visible = false; } }