示例#1
0
        public void FinalizeDataHolder()
        {
            SpawnEntry = NPCMgr.GetSpawnEntry(SpawnId);
            if (SpawnEntry == null)
            {
                ContentMgr.OnInvalidDBData("{0} had an invalid SpawnId.", this);
            }
            else
            {
                var added = false;
                var cur   = SpawnEntry.Waypoints.First;
                while (cur != null)
                {
                    if (cur.Value.Id > Id)
                    {
                        Node  = cur.List.AddBefore(cur, this);
                        added = true;
                        break;
                    }

                    if (cur.Value.Id == Id)
                    {
                        ContentMgr.OnInvalidDBData("Found multiple Waypoints with the same Id {0} for SpawnEntry {1}", Id, SpawnEntry);
                        return;
                    }
                    cur = cur.Next;
                }

                if (!added)
                {
                    SpawnEntry.HasDefaultWaypoints = false;
                    Node = SpawnEntry.Waypoints.AddLast(this);
                }
            }
        }
示例#2
0
        public void FinalizeDataHolder()
        {
            SpawnEntry = NPCMgr.GetSpawnEntry(SpawnId);
            if (SpawnEntry == null)
            {
                ContentMgr.OnInvalidDBData("{0} had an invalid SpawnId.", (object)this);
            }
            else
            {
                bool flag = false;
                for (LinkedListNode <WaypointEntry> node = SpawnEntry.Waypoints.First;
                     node != null;
                     node = node.Next)
                {
                    if (node.Value.Id > Id)
                    {
                        Node = node.List.AddBefore(node, this);
                        flag = true;
                        break;
                    }

                    if ((int)node.Value.Id == (int)Id)
                    {
                        ContentMgr.OnInvalidDBData("Found multiple Waypoints with the same Id {0} for SpawnEntry {1}",
                                                   (object)Id, (object)SpawnEntry);
                        return;
                    }
                }

                if (flag)
                {
                    return;
                }
                SpawnEntry.HasDefaultWaypoints = false;
                Node = SpawnEntry.Waypoints.AddLast(this);
            }
        }