Ejemplo n.º 1
0
        /// <summary>
        /// In the case where the old PaintTerrainInputReceiver has been collected by the garbage collector,
        /// then we try to make a replacement
        /// </summary>
        /// <param name="viewer"></param>
        private void addNewReceiver(NWN2AreaViewer viewer)
        {
            Console.WriteLine("The retained paintTerrianInputReceiver is null");
            PaintTerrainInputReceiver normalPaint = new PaintTerrainInputReceiver();

            normalPaint.Attach(viewer.ElectronPanel);
            viewer.ElectronPanel.AddInputReceiver(normalPaint);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// If we want to go back to painting with the normal listeners - we remove the multibrush and try to restore the normal listeners
        /// </summary>
        public void normalizeListeners()
        {
            List <NWN2AreaViewer> allAreaViewers = NWN2ToolsetMainForm.App.GetAllAreaViewers();

            foreach (NWN2AreaViewer viewer in allAreaViewers)
            {
                try {
                    if (newReceiverTable.ContainsKey(viewer))
                    {
                        InputReceiver receiver = (InputReceiver)newReceiverTable[viewer];
                        if (receiver != null)
                        {
                            viewer.ElectronPanel.RemoveInputReceiver(receiver);
                            newReceiverTable.Remove(viewer);
                            inputReciver = receiver;
                        }
                    }
                } catch (Exception e) {
                    throw new Exception("Exception thrown while trying to remove multibrush: " + e);
                }

                try {
                    if (oldReceiverTable.ContainsKey(viewer))
                    {
                        PaintTerrainInputReceiver oldReceiver = (PaintTerrainInputReceiver)oldReceiverTable[viewer];
                        if (oldReceiver != null)
                        {
                            viewer.ElectronPanel.AddInputReceiver(oldReceiver);
                            oldReceiverTable.Remove(viewer);
                        }
                        else
                        {
                            addNewReceiver(viewer);
                        }
                    }
                    else
                    {
                        addNewReceiver(viewer);
                    }
                } catch (Exception e) {
                    throw new Exception("Exception thrown while trying to add the old PaintBrush: " + e);
                }
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// In the case where the old PaintTerrainInputReceiver has been collected by the garbage collector, 
 /// then we try to make a replacement
 /// </summary>
 /// <param name="viewer"></param>
 private void addNewReceiver(NWN2AreaViewer viewer)
 {
     Console.WriteLine("The retained paintTerrianInputReceiver is null");
     PaintTerrainInputReceiver normalPaint = new PaintTerrainInputReceiver();
     normalPaint.Attach(viewer.ElectronPanel);
     viewer.ElectronPanel.AddInputReceiver(normalPaint);
 }