public Dictionary <Type, ISPNode> GetChildrenTypes(ISPNode parentNode)
        {
            IEnumerable <Lazy <SPNode> > importedNodes = CompositionProvider.GetExports <SPNode>(parentNode.Descriptor.ClassType);
            var types = new Dictionary <Type, ISPNode>();

            foreach (var lazyItem in importedNodes)
            {
                SPNode node = lazyItem.Value;
                node.NodeProvider = parentNode.NodeProvider;

                if (node.Descriptor.AdapterItemType != null)
                {
                    types.AddOrReplace(node.Descriptor.AdapterItemType, node);
                }
            }
            return(types);
        }
        private SPSite GetSite(SPNode node)
        {
            SPSite  result = null;
            ISPNode temp   = node;

            if (temp.SPObjectType == typeof(SPSite))
            {
                result = temp.SPObject as SPSite;
            }
            else
            {
                if (temp.Parent != null)
                {
                    result = GetSite(temp.Parent as SPNode);
                }
            }
            return(result);
        }
Esempio n. 3
0
        private void AddNeighbors(SPNode node, int posX, int posY)
        {
            var nodePos = new Point(posX, posY);

            // north
            var northNeighborPos = new Point(posX, posY - 1);
            var northNeighbor    = CreateNode(node.ID - currScenarioWidth, northNeighborPos);

            if (northNeighbor != null)
            {
                node.AddNeighbor(northNeighbor);
            }

            // east
            var eastNeighborPos = DirUtils.GetEastFromPos(nodePos);
            var eastNeighbor    = CreateNode(node.ID + 1, eastNeighborPos);

            if (eastNeighbor != null)
            {
                node.AddNeighbor(eastNeighbor);
            }

            // south
            var southNeighborPos = new Point(posX, posY + 1);
            var southNeighbor    = CreateNode(node.ID + currScenarioWidth, southNeighborPos);

            if (southNeighbor != null)
            {
                node.AddNeighbor(southNeighbor);
            }

            // west
            var westNeighborPos = DirUtils.GetWestFromPos(nodePos);
            var westNeighbor    = CreateNode(node.ID - 1, westNeighborPos);

            if (westNeighbor != null)
            {
                node.AddNeighbor(westNeighbor);
            }
        }
Esempio n. 4
0
 public void SetupItem(object target)
 {
     this.CurrentNode = (SPNode)target;
 }
 private GoapSpNode(SPNode baseNode)
     : base(baseNode)
 {
 }