Exemple #1
0
        private void AddBaseElements(Point p = new Point())
        {
            var radius = ElementEntity.ElementIconSize;

            var baseElements = ElementRegistry.GetBaseElements();

            for (int i = 0; i < baseElements.Length; i++)
            {
                var element  = baseElements[i];
                var progress = (float)i / baseElements.Length;

                var x = (float)Math.Cos(progress * MathHelper.TwoPi + MathHelper.PiOver4) * radius;
                var y = (float)Math.Sin(progress * MathHelper.TwoPi + MathHelper.PiOver4) * radius;

                SpawnElementEntity(p.X - x, p.Y - y, element);
            }
        }
Exemple #2
0
        protected override void OnRenderFrame(FrameEventArgs e)
        {
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            var partialTicks = (float)(_updateTimer.Elapsed.TotalMilliseconds / (TargetUpdatePeriod * 1000f));

            _trashEntity?.SetShown(_holding != null && _trashEntity.MouseOverDestination && !_inventoryGui.IsShown());
            _trashEntity?.Render(partialTicks);

            for (var index = 0; index < _elementEntities.Count; index++)
            {
                var entity = _elementEntities[index];

                if (entity != _holding)
                {
                    entity?.Render(partialTicks);
                }
            }

            _holding?.Render(partialTicks);

            var offsetY = 0f;

            if (_toastQueue.Count > 0)
            {
                var toast = _toastQueue.First();

                if (toast != null)
                {
                    toast.Render(partialTicks);
                    offsetY = toast.CurrentY;
                }
            }

            var baseCount = ElementRegistry.GetBaseElements().Length;

            FontRenderer.DrawTextCentered(Width / 2f, 16 - offsetY, $"DISCOVERED {_learntElements.Count - baseCount}/{ElementRegistry.GetTotalCount() - baseCount}");

            _inventoryGui?.SetShown(_holding == null && (_inventoryGui.MouseOverTrigger || _inventoryGui.IsShown() && _inventoryGui.MouseOverRectangle));
            _inventoryGui?.Render(partialTicks);

            SwapBuffers();
        }