Beispiel #1
0
    public List <IThread> GetTopThreads()
    {
        List <IThread> list = new List <IThread>();

        DataRow[] rows = table.Select("IsTop = true");

        foreach (DataRow row in rows)
        {
            Thread t = new Thread();
            t.Content = row["Content"].ToString();
            t.IsTop   = true;
            DataRow[] cs = table.Select("ParentID =" + Convert.ToInt32(row["ID"]));
            foreach (DataRow r in cs)
            {
                if (Convert.ToBoolean(r["IsMessage"]))
                {
                    Message m = new Message();
                    m.Content = r["Content"].ToString();
                    m.IsTop   = false;
                    t.Add(m);
                }
                else
                {
                    Thread tt = new Thread();
                    tt.Content = r["Content"].ToString();
                    tt.IsTop   = false;
                    t.Add(tt);
                }
            }
            list.Add(t);
        }
        return(list);
    }
Beispiel #2
0
        private void UpdateWorld()
        {
            Thread.Add(() =>
            {
                Stopwatch sw = new Stopwatch();
                sw.Start();

                do
                {
                    if (sw.Elapsed.TotalSeconds >= 1)
                    {
                        sw.Restart();

                        if (CanUpdateWorld)
                        {
                            CanUpdateWorld = false;

                            if (Core.Settings.Features.PlayerInfo)
                            {
                                if (PlayerInfo.Season == SeasonType.Nothing)
                                {
                                    Season = Core.World.Season;
                                }
                                else
                                {
                                    Season = Core.World.GenerateSeason((int)PlayerInfo.Season);
                                }

                                if (PlayerInfo.Weather == WeatherType.Nothing)
                                {
                                    Weather = Core.World.Weather;
                                }
                                else
                                {
                                    Weather = Core.World.GenerateWeather(Season, (int)PlayerInfo.Weather);
                                }

                                if (PlayerInfo.DefaultTimeOffset)
                                {
                                    TimeOffset = Core.World.TimeOffset;
                                }
                                else
                                {
                                    TimeOffset = PlayerInfo.TimeOffset;
                                }

                                if (PlayerInfo.DefaultDoDayCycle)
                                {
                                    DoDayCycle = Core.World.DoDayCycle;
                                }
                                else
                                {
                                    DoDayCycle = PlayerInfo.DoDayCycle;
                                }
                            }
                        }

                        Network.SentToPlayer(new Package.Package(Core, PackageTypes.WorldData, GenerateWorld(), Network));
                    }

                    if (sw.ElapsedMilliseconds < 1000)
                    {
                        Thread.Sleep(1000 - sw.ElapsedMilliseconds.ToInt());
                    }
                } while (Network.IsActive);
            });
        }