public void CreateNew(AEType _type)
        {
            AssignmentEntity newEntity = new AssignmentEntity();
            int newID = 1000;

            while (mapSystem.assignmentEntityDictionary.ContainsKey(newID))
            {
                newID++;
            }
            newEntity.aeID   = newID;
            newEntity.aeType = _type;
            newEntity.floor  = mapSystem.currentFloor.Value;
            newEntity.pos    = Vector2.zero;
            newEntity.radius = .5f;
            newEntity.theta  = 0;

            mapSystem.assignmentEntityDictionary.Add(newEntity.aeID, newEntity);

            AssignmentEntityRenderer newRenderer = _type == AEType.computer ?
                                                   GameObject.Instantiate(assCompPrefab, mapSystem.coordinate) :
                                                   GameObject.Instantiate(assWallPrefab, mapSystem.coordinate);

            newRenderer.Initialize(newEntity.aeID, infoSystem, mapSystem);

            mapSystem.SelectAssignmentEntityRenderer(newRenderer);
        }
        private void TestAdd(AEType aeType)
        {
            const string ipv4      = "192.168.0.1";
            const string maskv4    = "255.255.255.255";
            const string localipv6 = "::1";
            const string maskv6    = "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff";

            string outip, outmask;
            int    initialEntries = 0;
            int    numEntries     = 0;

            // remove all existing entries first
            m_pAddressAccess.GetAccessEntryCount(aeType, out initialEntries);
            for (int i = initialEntries - 1; i >= 0; i--)
            {
                m_pAddressAccess.RemoveAccessEntry(aeType, i);
            }

            // add IPv4 entry
            m_pAddressAccess.AddAccessEntryEx(aeType, ipv4, maskv4);
            m_pAddressAccess.GetAccessEntryCount(aeType, out numEntries);
            Debug.Assert(numEntries == 1);

            m_pAddressAccess.GetAccessEntryEx(aeType, numEntries - 1, out outip, out outmask);
            Debug.Assert(ipv4 == outip);
            Debug.Assert(maskv4 == outmask);

            // remove IPv4 entry
            m_pAddressAccess.RemoveAccessEntry(aeType, numEntries - 1);
            m_pAddressAccess.GetAccessEntryCount(aeType, out numEntries);
            Debug.Assert(numEntries == 0);

            // add IPv6 entry
            m_pAddressAccess.AddAccessEntryEx(aeType, localipv6, maskv6);
            m_pAddressAccess.GetAccessEntryCount(aeType, out numEntries);
            Debug.Assert(numEntries == 1);

            m_pAddressAccess.GetAccessEntryEx(aeType, numEntries - 1, out outip, out outmask);
            Debug.Assert(localipv6 == outip);
            Debug.Assert(maskv6 == outmask);
        }
Beispiel #3
0
        private void TestAdd(AEType aeType)
        {
            // 192.168.0.1 (0xC0A80001) in host int form
            const int hostip = -1062731775;
            // 255.255.255.255 (0xFFFFFFFF) in int form
            const int mask           = -1;
            int       initialEntries = 0;
            int       numEntries     = 0;

            m_pAddressAccess.GetAccessEntryCount(aeType, out initialEntries);
            for (int i = initialEntries - 1; i >= 0; i--)
            {
                m_pAddressAccess.RemoveAccessEntry(aeType, i);
            }

            int netip = IPAddress.HostToNetworkOrder((int)hostip);

            WMAddressAccessEntry accessEntry = new WMAddressAccessEntry();

            accessEntry.dwIPAddress = netip;
            accessEntry.dwMask      = mask;

            m_pAddressAccess.AddAccessEntry(aeType, ref accessEntry);
            m_pAddressAccess.GetAccessEntryCount(aeType, out numEntries);
            Debug.Assert(numEntries == 1);

            WMAddressAccessEntry outEntry;

            m_pAddressAccess.GetAccessEntry(aeType, numEntries - 1, out outEntry);
            Debug.Assert(outEntry.dwIPAddress == accessEntry.dwIPAddress);
            Debug.Assert(outEntry.dwMask == accessEntry.dwMask);

            m_pAddressAccess.RemoveAccessEntry(aeType, numEntries - 1);
            m_pAddressAccess.GetAccessEntryCount(aeType, out numEntries);
            Debug.Assert(numEntries == 0);
        }