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(); }
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]}); } }
private void PreviousOutline() { var outlines = TDEOutlines.GetOutlines(); var index = outlines.IndexOf(_currentOutline); _currentOutline = index - 1 > -1 ? outlines[index - 1] : outlines[TDEOutlines.GetOutlines().Count - 1]; }
private void Pick() { if (IsInvalid()) return; foreach (var entity in CurrentTile.OrderedEntities) if (_currentOutline != entity.Outline) { _currentOutline = entity.Outline; break; } }
private void NextOutline() { var outlines = TDEOutlines.GetOutlines(); var index = outlines.IndexOf(_currentOutline); _currentOutline = outlines.Count > index + 1 ? outlines[index + 1] : outlines[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(); }