//  BlockyFroggy
//  Copyright © 2017 John Ryland.
//  All rights reserved.
#pragma once
#ifndef EDITOR_STATE_H
#define EDITOR_STATE_H


#include "BaseGameState.h"
#include "GameSim.h"


class EditorState : public BaseGameState
{
public:
  const char* getName() const override { return "EditorState"; }
  void enter(GameGraphics& graphics) override;
  void exit(GameGraphics& /*graphics*/) override;
  void draw(GameGraphics& graphics) override;
  bool update(GameUi::UpdateState& state, float elapsed) override;
  bool touchesChanged(int x, int y, TouchState ts) override;
private:
  // Mouse/Touch state
  bool   m_touchMoving;
  float  m_touchX, m_touchY;

  int m_editModel = 0;
  //Game::GameObjectList   dummyList;
  float m_editLayer = 0.0;
  float m_editRotation = 10.0;
  std::vector<uint32_t> m_palette;
  std::vector<uint32_t> m_pixels;
  int m_pixW = 0;
  int m_pixH = 0;
  int m_pixD = 0;
  int m_palIdx = 0;
  int m_pixIdx = 0;
  int m_palIdxMru[10];
};


#endif // EDITOR_STATE_H

