Пример #1
0
 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);
 }
Пример #2
0
        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);
        }
Пример #3
0
 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;
     }
 }
Пример #4
0
        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);
            }
        }
Пример #5
0
 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;
     }
 }