Esempio n. 1
0
        public TDEEditor(GameWindow mGameWindow)
        {
            TDGameWindow = mGameWindow;
            _drawEntities = new List<TDEEntity>();
            _elementSprites = new List<Sprite>();
            _common = new TDCommon(mGameWindow);

            _currentOutline = TDEOutlines.GetOutlines().First();
            _rectangleMode = true;

            OnUpdate += mFrameTime =>
                        {
                            UpdateSelector();
                            UpdateInfoText();
                        };
            AddDrawAction(DrawEntities);

            _previewSpriteCount = 14;
            for (var i = 0; i < _previewSpriteCount; i++) _elementSprites.Add(new Sprite());

            OnDrawAfterDefault += DrawGUI;
            OnDrawBeforeCamera += _common.GUI.DrawBackground;

            InitializeInputs();
        }
Esempio n. 2
0
        public TDEEntity(TDEOutline mOutline)
        {
            Outline = mOutline;
            Sprite = new Sprite(mOutline.Texture) {TextureRect = mOutline.TextureRect};

            Parameters = new List<TDEEntityParameter>();

            for (var index = 0; index < mOutline.ParameterInfos.Count; index++)
            {
                var parameterInfo = mOutline.ParameterInfos[index];
                Parameters.Add(new TDEEntityParameter(parameterInfo.Name, parameterInfo.ParameterType) {Value = mOutline.ParameterDefaultValues[index]});
            }
        }
Esempio n. 3
0
        private void PreviousOutline()
        {
            var outlines = TDEOutlines.GetOutlines();

            var index = outlines.IndexOf(_currentOutline);
            _currentOutline = index - 1 > -1 ? outlines[index - 1] : outlines[TDEOutlines.GetOutlines().Count - 1];
        }
Esempio n. 4
0
        private void Pick()
        {
            if (IsInvalid()) return;

            foreach (var entity in CurrentTile.OrderedEntities)
                if (_currentOutline != entity.Outline)
                {
                    _currentOutline = entity.Outline;
                    break;
                }
        }
Esempio n. 5
0
        private void NextOutline()
        {
            var outlines = TDEOutlines.GetOutlines();

            var index = outlines.IndexOf(_currentOutline);
            _currentOutline = outlines.Count > index + 1 ? outlines[index + 1] : outlines[0];
        }
Esempio n. 6
0
        private void CopyParameters()
        {
            if (IsInvalid()) return;

            var entity = CurrentTile.OrderedEntities.Find(x => x.Layer == _currentOutline.Layer);
            if (entity == null) return;

            _copiedParametersOutline = entity.Outline;
            _copiedParameters = entity.CloneParameters();
        }