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