private void ProcessDeleteObjMsg(ref Message msg) { int representObjPtr = (int)msg.LParam; object r = m_baseForm.FindTreeNodeByRepresentObjPtr((int)msg.WParam, representObjPtr); TreeNode node = r as TreeNode; DevComponents.AdvTree.Node advNode = r as DevComponents.AdvTree.Node; if (node != null) { node.Parent.Nodes.Remove(node); node.Remove(); } else if (advNode != null) { advNode.Parent.Nodes.Remove(advNode); advNode.Remove(); } LogicHelper.UpdateNodesCountDesc(); }
private void ProcessPlaceObjMsg(ref Message msg) { representObjPtr = (int)msg.LParam; if ((int)msg.WParam == REPRESENTOBJECT_NPC) { m_baseForm.DOC.DocLogical.GetObjDisplayInfo("NPC", -1, -1, ref name, ref nickname, ref hasscript, ref representObjPtr, ref logicObjPtr, ref templateID); LogicObj npc = new LogicObj("NPC", -1, -1, name, nickname, hasscript == 0 ? false : true, representObjPtr, logicObjPtr, templateID); //string npcName = npc.naMe; string npcName = string.Format("{0} [{1}]", npc.naMe, npc.templateID); string fullDisplayName = string.Format("{0} {1} {2}", npcName, npc.nickName.Length > 0 ? "[" + npc.nickName + "]" : string.Empty, npc.hasScript ? "[√]" : string.Empty); bool bExistThisTemplate = false; foreach (TreeNode node in LogicHelper.m_NodeNPCs.Nodes) { if (node.Text.Contains(npcName)) { if (node.Nodes.Count == 0) { TreeNode oldnewnpcnode = node.Nodes.Add(node.Name, node.Text); oldnewnpcnode.Tag = node.Tag; node.Text = node.Name; node.Tag = null; } // 再添加这一个。 TreeNode newnpcnode = node.Nodes.Add(npcName, fullDisplayName); newnpcnode.Tag = npc; bExistThisTemplate = true; break; } } if (!bExistThisTemplate) { TreeNode newnpcnode = LogicHelper.m_NodeNPCs.Nodes.Add(npcName, fullDisplayName); newnpcnode.Tag = npc; } } else if ((int)msg.WParam == REPRESENTOBJECT_DOODAD) { m_baseForm.DOC.DocLogical.GetObjDisplayInfo("Doodad", -1, -1, ref name, ref nickname, ref hasscript, ref representObjPtr, ref logicObjPtr, ref templateID); LogicObj doodad = new LogicObj("Doodad", -1, -1, name, nickname, hasscript == 0 ? false : true, representObjPtr, logicObjPtr, templateID); //string doodadName = doodad.naMe; string doodadName = string.Format("{0} [{1}]", doodad.naMe, doodad.templateID); string fullDisplayName = string.Format("{0} {1} {2}", doodadName, doodad.nickName.Length > 0 ? "[" + doodad.nickName + "]" : string.Empty, doodad.hasScript ? "[√]" : string.Empty); bool bExistThisTemplate = false; foreach (TreeNode node in LogicHelper.m_NodeDoodads.Nodes) { if (node.Text.Contains(doodadName)) { if (node.Nodes.Count == 0) { TreeNode oldnewdoodadnode = node.Nodes.Add(node.Name, node.Text); oldnewdoodadnode.Tag = node.Tag; node.Text = node.Name; node.Tag = null; } // 再添加这一个 TreeNode newdoodadnode = node.Nodes.Add(doodadName, fullDisplayName); newdoodadnode.Tag = doodad; bExistThisTemplate = true; break; } } if (!bExistThisTemplate) { TreeNode newdoodadnode = LogicHelper.m_NodeDoodads.Nodes.Add(doodadName, fullDisplayName); newdoodadnode.Tag = doodad; } } else if ((int)msg.WParam == REPRESENTOBJECT_POLY) { m_baseForm.AddPolyTreeNode(); } LogicHelper.UpdateNodesCountDesc(); }