Example #1
0
 public override void Execute()
 {
     foreach (MyNode child in Owner.SortedChildren)
     {
         if (child is MyAbstractLayer)
         {
             foreach (PropertyInfo memBlockInfo in MyNodeInfo.Get(child.GetType()).OwnedMemoryBlocks)
             {
                 Object memBlock = memBlockInfo.GetValue(child);
                 if (memBlock is MyTemporalMemoryBlock<float>)
                 {
                     (memBlock as MyTemporalMemoryBlock<float>).RunMode();
                 }
             }
         }
     }
 }
Example #2
0
        private void ConnectWorld()
        {
            if (Network != null && World != null)
            {
                if (Network.InputBranches != World.OutputBranches)
                {
                    Network.InputBranches = World.OutputBranches;
                    Network.InitInputNodes();
                }

                for (int i = 0; i < World.OutputBranches; i++)
                {
                    Network.GroupInputNodes[i].Name = ShortenMemoryBlockName(World.GetOutput(i).Name);
                }

                if (Network.OutputBranches != World.InputBranches)
                {
                    Network.OutputBranches = World.InputBranches;
                    Network.InitOutputNodes();
                }

                for (int i = 0; i < World.InputBranches; i++)
                {
                    Network.GroupOutputNodes[i].Name = ShortenMemoryBlockName(MyNodeInfo.Get(World.GetType()).InputBlocks[i].Name);
                }

                for (int i = 0; i < World.OutputBranches; i++)
                {
                    MyConnection worldToNetwork = new MyConnection(World, Network, i, i);
                    worldToNetwork.Connect();
                }

                for (int i = 0; i < World.InputBranches; i++)
                {
                    MyConnection networkToWorld = new MyConnection(Network, World, i, i);
                    networkToWorld.Connect();
                }
            }
        }