コード例 #1
0
        public ChunkGenerator(float updateTime, Godot.OpenSimplexNoise noise)
        {
            Noise = noise;
            Timer = new ETimer(updateTime, true, true, UpdateQueue);

            ResetEvents       = new AutoResetEvent[Environment.ProcessorCount / 2];
            GenerationThreads = new Thread[Environment.ProcessorCount / 2];
            IsFree            = new bool[Environment.ProcessorCount / 2];

            for (int i = 0; i < ResetEvents.Length; i++)
            {
                ResetEvents[i] = new AutoResetEvent(false);
            }
            for (int i = 0; i < IsFree.Length; i++)
            {
                IsFree[i] = true;
            }
            for (int i = 0; i < GenerationThreads.Length; i++)
            {
                GenerationThreads[i]      = new Thread(GenerationChunk);
                GenerationThreads[i].Name = $"{i}";
                GenerationThreads[i].Start();
            }

            Timer.Start();
        }
コード例 #2
0
        public override void Close()
        {
            base.Close();

            Log.Error("处理关闭的逻辑....");

            //关闭逻辑

            ETimerComponent.Instance.OnCompleted(ETimer.AddTimer(3, "close"), () => {
                // Game.Scene.GetComponent<UIComponent_Z>().Create(UIType.Login);
            });
        }
コード例 #3
0
 public PlaybackWindow(Vector2 POS, Vector2 DIM) : base(POS, DIM, "Playback")
 {
     playBtn = new Button(play, this, new Vector2(10, 25), new Vector2(40, 25), "play");
     backBtn = new Button(back, this, new Vector2(55, 25), new Vector2(40, 25), "back");
     fpsTxt  = new Textfield(this, new Vector2(38, 55), new Vector2(57, 25), "1")
     {
         defaultContent = "0"
     };
     startFrameTxt = new Textfield(this, new Vector2(200, 25), new Vector2(57, 25), "")
     {
         defaultContent = "0"
     };
     endFrameTxt = new Textfield(this, new Vector2(200, 55), new Vector2(57, 25), "")
     {
         defaultContent = "0"
     };
     startFrameTxt.numberField = true;
     endFrameTxt.numberField   = true;
     fpsTxt.numberField        = true;
     timer = new ETimer(1200);
 }