
--ホストガールの定義
HG = {}
HG["KARIA"]    = 13
HG["MOEGI"]    = 14
HG["SAYLA"]    = 15
HG["MIYABI"]   = 16
HG["NOKO"]     = 17
HG["OUKA"]     = 18
HG["MITSUKI"]  = 19
HG["CHIRI"]    = 20
HG["RINRIN"]   = 21
HG["ANGE"]     = 22

--コスチュームの一覧(制服)
Cos = {}
Cos[0]  = "uni15"
Cos[1]  = "uni16"
Cos[2]  = "uni17"
Cos[3]  = "uni18"
Cos[4]  = "uni19"
Cos[5]  = "uni20"
Cos[6]  = "uni21"
Cos[7]  = "uni22"
Cos[8]  = "uni23"
Cos[9]  = "uni24"

--コスチュームの一覧(色違い)
CosAnother = {}
for i = 0, #Cos do
	CosAnother[i] = Cos[i] .. "a"
end

--コスチュームの一覧(全部)
CosALL = {}
for i = 1, #Cos do
	CosALL[#CosALL+1] = Cos[i]
end
for i = 1, #CosAnother do
	CosALL[#CosALL+1] = CosAnother[i]
end


--カラオケの定義
KARAOKE_GOGO = {"CUTE_DE_POP", "HALLELUJAH", "I_KNOW_", "YUME_NO", "O_SHARE", "FULL_MOON", "WATASHI_NO", "ARASHI_WO", "DRAGONLADY", "UCHUJIN"}

--カラオケの一覧
KARAOKE_ALL = {}
for i = 1, #KARAOKE_GOGO do
	KARAOKE_ALL[#KARAOKE_ALL+1] = KARAOKE_GOGO[i]
end

--基本的な内容の初期化
function SelectBase(numHG)
	--結果の構造体
	local danceShow = {}

	--カラオケを選択する
	SelectKaraoke(danceShow)

	--ホストガールを選択する
	InitHostGirl(danceShow, numHG)

	return danceShow
end

--カラオケを選択する
function SelectKaraoke(danceShow)
	danceShow.karaoke = KARAOKE_ALL[RandomRange(1, #KARAOKE_ALL)]
end

--ホストガールの人数分初期化する
function InitHostGirl(danceShow, numHG)
	danceShow.hg_settings = {}
	for i = 1,numHG do
			danceShow.hg_settings[i] = {}
	end
end

--ホストガールをランダムに選択する
function ChoiceHostGirlShuffle(danceShow)
	hg_list = {13,14,15,16,17,18,19,20,21,22}
	hg_list = ShuffleArray(hg_list)

	for i = 1,#(danceShow.hg_settings) do
		danceShow.hg_settings[i].hg_number = hg_list[i]
	end
end

--位置の調整。3人用
function SetPosition3(danceShow)
	--配置する
	danceShow.hg_settings[1].position = {0, 0, 10}
	danceShow.hg_settings[2].position = {75, 0, -65}
	danceShow.hg_settings[3].position = {-75, 0, -65}
end

--位置の調整。5人用
function SetPosition5(danceShow)
	--配置する
	danceShow.hg_settings[1].position = {0, 0, 10}
	danceShow.hg_settings[2].position = {105, 0, 10}
	danceShow.hg_settings[3].position = {-105, 0, 10}
	danceShow.hg_settings[4].position = {65, 0, -85}
	danceShow.hg_settings[5].position = {-65, 0, -85}
end

--デフォルト制服で3人。
function SelectUni3()

	--3人で、歌えるホストガールをセンターに配置する
	local danceShow = SelectBase(3)
	ChoiceHostGirlShuffle(danceShow)

	--デフォルトの制服を選択する
	for i = 1,#(danceShow.hg_settings) do
		local cosNumber = danceShow.hg_settings[i].hg_number - HG["KARIA"]
		danceShow.hg_settings[i].hg_costume = COSTUME[Cos[cosNumber]]
	end

	--配置する
	SetPosition3(danceShow)

	return danceShow
end

--デフォルト制服で3人。アナザーカラー
function SelectUni3A()

	--3人で、歌えるホストガールをセンターに配置する
	local danceShow = SelectBase(3)
	ChoiceHostGirlShuffle(danceShow)

	--デフォルトの制服を選択する
	for i = 1,#(danceShow.hg_settings) do
		local cosNumber = danceShow.hg_settings[i].hg_number - HG["KARIA"]
		danceShow.hg_settings[i].hg_costume = COSTUME[CosAnother[cosNumber]]
	end

	--配置する
	SetPosition3(danceShow)

	return danceShow
end

--ランダム制服で3人。
function SelectUniShuffle3()

	--3人で、歌えるホストガールをセンターに配置する
	local danceShow = SelectBase(3)
	ChoiceHostGirlShuffle(danceShow)

	--制服をシャッフルする
	CosShuffle = ShuffleArray(CosALL)
	for i = 1,#(danceShow.hg_settings) do
		danceShow.hg_settings[i].hg_costume = COSTUME[CosShuffle[i]]
	end

	--配置する
	SetPosition3(danceShow)

	return danceShow
end

--ランダム制服で5人。
function SelectUniShuffle5()

	--5人で、ランダムに選択する
	local danceShow = SelectBase(5)
	ChoiceHostGirlShuffle(danceShow)

	--制服をシャッフルする
	CosShuffle = ShuffleArray(CosALL)
	for i = 1,#(danceShow.hg_settings) do
		danceShow.hg_settings[i].hg_costume = COSTUME[CosShuffle[i]]
	end

	--配置する
	SetPosition5(danceShow)

	return danceShow
end

showList = {SelectUni3, SelectUni3A, SelectUniShuffle3, SelectUniShuffle5}
showIndex = 1

-- ショーの内容を選択して返却する
function Select()
	danceShow = showList[showIndex]()
	return danceShow
end

-- 次のショーを選択する
function Next()
	--次のショーへ
	showIndex = showIndex + 1
	if showIndex > #showList then
		showIndex = 1
	end
end

-- 前のショーを選択する
function Prev()
	--次のショーへ
	showIndex = showIndex - 1
	if showIndex == 0 then
		showIndex = #showList
	end
end

