mirror of
https://github.com/RHeavenStudioPlus/HeavenStudioPlus.git
synced 2024-11-13 21:25:09 +00:00
finish essential property work
- fix minor bug related to karate man flow bar sounds
This commit is contained in:
parent
6f7719d4e7
commit
3a9c0db871
5 changed files with 118 additions and 72 deletions
|
@ -6702,7 +6702,7 @@ MonoBehaviour:
|
||||||
m_Right: 20
|
m_Right: 20
|
||||||
m_Top: 10
|
m_Top: 10
|
||||||
m_Bottom: 5
|
m_Bottom: 5
|
||||||
m_ChildAlignment: 0
|
m_ChildAlignment: 1
|
||||||
m_Spacing: 0
|
m_Spacing: 0
|
||||||
m_ChildForceExpandWidth: 1
|
m_ChildForceExpandWidth: 1
|
||||||
m_ChildForceExpandHeight: 1
|
m_ChildForceExpandHeight: 1
|
||||||
|
@ -16598,10 +16598,26 @@ MonoBehaviour:
|
||||||
m_GameObject: {fileID: 621827468}
|
m_GameObject: {fileID: 621827468}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_EditorHideFlags: 0
|
m_EditorHideFlags: 0
|
||||||
m_Script: {fileID: 11500000, guid: 4dcd15958462e4e488a04ef094e7ffcb, type: 3}
|
m_Script: {fileID: 11500000, guid: 4567e0acf98a9ef48b747da3b836a1a2, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
cursorCheckbox: {fileID: 0}
|
propertyHolder: {fileID: 231450549}
|
||||||
|
IntegerP: {fileID: 797336683}
|
||||||
|
FloatP: {fileID: 797336683}
|
||||||
|
BooleanP: {fileID: 2083473857}
|
||||||
|
DropdownP: {fileID: 728113665}
|
||||||
|
ColorP: {fileID: 1651196874}
|
||||||
|
StringP: {fileID: 937032842}
|
||||||
|
DividerP: {fileID: 1503364107}
|
||||||
|
HeaderP: {fileID: 934666994}
|
||||||
|
SubHeaderP: {fileID: 1172723234}
|
||||||
|
tags:
|
||||||
|
- tag: header
|
||||||
|
label: Rating Screen Text
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: subheader
|
||||||
|
label: Coming Soon!
|
||||||
|
isReadOnly: 0
|
||||||
--- !u!114 &621827471
|
--- !u!114 &621827471
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -23213,7 +23229,7 @@ MonoBehaviour:
|
||||||
m_HandleRect: {fileID: 1589389271}
|
m_HandleRect: {fileID: 1589389271}
|
||||||
m_Direction: 2
|
m_Direction: 2
|
||||||
m_Value: 1
|
m_Value: 1
|
||||||
m_Size: 0.9996455
|
m_Size: 0.9999803
|
||||||
m_NumberOfSteps: 0
|
m_NumberOfSteps: 0
|
||||||
m_OnValueChanged:
|
m_OnValueChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
|
@ -30035,7 +30051,7 @@ RectTransform:
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0, y: 0.5}
|
m_AnchorMin: {x: 0, y: 0.5}
|
||||||
m_AnchorMax: {x: 1, y: 0.5}
|
m_AnchorMax: {x: 1, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: 129.91107}
|
m_AnchoredPosition: {x: 0, y: 129.91109}
|
||||||
m_SizeDelta: {x: 0, y: 0}
|
m_SizeDelta: {x: 0, y: 0}
|
||||||
m_Pivot: {x: 0.5, y: 1}
|
m_Pivot: {x: 0.5, y: 1}
|
||||||
--- !u!114 &1154875944
|
--- !u!114 &1154875944
|
||||||
|
@ -30540,6 +30556,49 @@ MonoBehaviour:
|
||||||
DividerP: {fileID: 1503364107}
|
DividerP: {fileID: 1503364107}
|
||||||
HeaderP: {fileID: 934666994}
|
HeaderP: {fileID: 934666994}
|
||||||
SubHeaderP: {fileID: 1172723234}
|
SubHeaderP: {fileID: 1172723234}
|
||||||
|
tags:
|
||||||
|
- tag: header
|
||||||
|
label: Remix Information
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: subheader
|
||||||
|
label: Enter information about your remix here.
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: remixtitle
|
||||||
|
label: Remix Title
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: remixauthor
|
||||||
|
label: Remix Author
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: remixdesc
|
||||||
|
label: Description
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: remixtags
|
||||||
|
label: Tags
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: subheader
|
||||||
|
label: <alpha=#CC>(split tags using commas ",")
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: divider
|
||||||
|
label: Divider Chart
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: header
|
||||||
|
label: Song Information
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: subheader
|
||||||
|
label: Enter information about your remix's song here.
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: idolsong
|
||||||
|
label: Song Name
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: idolcredit
|
||||||
|
label: Song Artist
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: idolgenre
|
||||||
|
label: Song Genre
|
||||||
|
isReadOnly: 0
|
||||||
|
- tag: divider
|
||||||
|
label: Divider Idol
|
||||||
|
isReadOnly: 0
|
||||||
--- !u!114 &1177777400
|
--- !u!114 &1177777400
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -35603,42 +35662,9 @@ MonoBehaviour:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
dialog: {fileID: 1336470761}
|
dialog: {fileID: 1336470761}
|
||||||
tabsManager: {fileID: 1523610372}
|
tabsManager: {fileID: 1523610372}
|
||||||
infoTags:
|
containers:
|
||||||
- tag: header
|
- {fileID: 1177777399}
|
||||||
label: Remix Information
|
- {fileID: 621827470}
|
||||||
isReadOnly: 0
|
|
||||||
- tag: subheader
|
|
||||||
label: Enter information about your remix here.
|
|
||||||
isReadOnly: 0
|
|
||||||
- tag: remixtitle
|
|
||||||
label: Remix Title
|
|
||||||
isReadOnly: 0
|
|
||||||
- tag: remixauthor
|
|
||||||
label: Remix Author
|
|
||||||
isReadOnly: 0
|
|
||||||
- tag: divider
|
|
||||||
label: Divider Chart
|
|
||||||
isReadOnly: 0
|
|
||||||
- tag: header
|
|
||||||
label: Song Information
|
|
||||||
isReadOnly: 0
|
|
||||||
- tag: subheader
|
|
||||||
label: Enter information about your remix's song here.
|
|
||||||
isReadOnly: 0
|
|
||||||
- tag: idolgenre
|
|
||||||
label: Song Genre
|
|
||||||
isReadOnly: 0
|
|
||||||
- tag: idolsong
|
|
||||||
label: Song Name
|
|
||||||
isReadOnly: 0
|
|
||||||
- tag: idolcredit
|
|
||||||
label: Song Artist
|
|
||||||
isReadOnly: 0
|
|
||||||
- tag: divider
|
|
||||||
label: Divider Idol
|
|
||||||
isReadOnly: 0
|
|
||||||
flavourTags: []
|
|
||||||
infoContainer: {fileID: 1177777399}
|
|
||||||
chart:
|
chart:
|
||||||
bpm: 0
|
bpm: 0
|
||||||
musicVolume: 0
|
musicVolume: 0
|
||||||
|
|
|
@ -26,28 +26,29 @@ namespace HeavenStudio
|
||||||
{"productsubversion", 0},
|
{"productsubversion", 0},
|
||||||
// file format version
|
// file format version
|
||||||
{"riqversion", CurrentRiqVersion},
|
{"riqversion", CurrentRiqVersion},
|
||||||
// mapper set properties? (use this to flash the button)
|
// mapper set properties? (future: use this to flash the button)
|
||||||
{"propertiesmodified", false},
|
{"propertiesmodified", false},
|
||||||
|
|
||||||
////// CATEGORY 1: SONG INFO
|
////// CATEGORY 1: SONG INFO
|
||||||
// general chart info
|
// general chart info
|
||||||
{"remixtitle", "New Remix"}, // chart name
|
{"remixtitle", "New Remix"}, // chart name
|
||||||
{"remixauthor", "Your Name"}, // charter's name
|
{"remixauthor", "Your Name"}, // charter's name
|
||||||
{"remixlevel", 1}, // chart difficulty (maybe offer a suggestion but still have the mapper determine it)
|
{"remixdesc", "Remix Description"}, // chart description
|
||||||
{"remixtempo", 120f}, // avg. chart tempo
|
{"remixlevel", 1}, // chart difficulty (maybe offer a suggestion but still have the mapper determine it)
|
||||||
{"remixtags", ""}, // chart tags
|
{"remixtempo", 120f}, // avg. chart tempo
|
||||||
{"icontype", 0}, // chart icon (presets, custom - future)
|
{"remixtags", ""}, // chart tags
|
||||||
{"iconurl", ""}, // custom icon location (future)
|
{"icontype", 0}, // chart icon (presets, custom - future)
|
||||||
|
{"iconurl", ""}, // custom icon location (future)
|
||||||
|
|
||||||
// chart song info
|
// chart song info
|
||||||
{"idolgenre", "Song Genre"}, // song genre
|
{"idolgenre", "Song Genre"}, // song genre
|
||||||
{"idolsong", "Song Name"}, // song name
|
{"idolsong", "Song Name"}, // song name
|
||||||
{"idolcredit", "Artist"}, // song artist
|
{"idolcredit", "Artist"}, // song artist
|
||||||
|
|
||||||
////// CATEGORY 2: PROLOGUE AND EPILOGUE
|
////// CATEGORY 2: PROLOGUE AND EPILOGUE
|
||||||
// chart prologue
|
// chart prologue
|
||||||
{"prologuetype", 0}, // prologue card animation (future)
|
{"prologuetype", 0}, // prologue card animation (future)
|
||||||
{"prologuecaption", "Remix"}, // prologue card sub-title (future)
|
{"prologuecaption", "Remix"}, // prologue card sub-title (future)
|
||||||
|
|
||||||
// chart results screen messages
|
// chart results screen messages
|
||||||
{"resultcaption", "Rhythm League Notes"}, // result screen header
|
{"resultcaption", "Rhythm League Notes"}, // result screen header
|
||||||
|
@ -331,6 +332,7 @@ namespace HeavenStudio
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void PostProcess()
|
public void PostProcess()
|
||||||
{
|
{
|
||||||
|
DynamicBeatmap beatmapModel = new DynamicBeatmap();
|
||||||
Minigames.Minigame game;
|
Minigames.Minigame game;
|
||||||
Minigames.GameAction action;
|
Minigames.GameAction action;
|
||||||
System.Type type, pType;
|
System.Type type, pType;
|
||||||
|
@ -376,6 +378,14 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
e.DynamicData = dynamicData;
|
e.DynamicData = dynamicData;
|
||||||
}
|
}
|
||||||
|
//go thru each property of the model beatmap and add any missing keyvalue pair
|
||||||
|
foreach (var prop in beatmapModel.properties)
|
||||||
|
{
|
||||||
|
if (!properties.ContainsKey(prop.Key))
|
||||||
|
{
|
||||||
|
properties.Add(prop.Key, prop.Value);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -37,6 +37,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
static float PeriodHigh = 15 / 60f;
|
static float PeriodHigh = 15 / 60f;
|
||||||
|
|
||||||
int noriMode = (int)KarateMan.NoriMode.None;
|
int noriMode = (int)KarateMan.NoriMode.None;
|
||||||
|
bool playedJust = false;
|
||||||
|
|
||||||
int inputsToSwitch = 0;
|
int inputsToSwitch = 0;
|
||||||
//takes 12% of inputs to fill the nori bar
|
//takes 12% of inputs to fill the nori bar
|
||||||
|
@ -69,6 +70,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
NoriHolder = NoriHolderTengoku;
|
NoriHolder = NoriHolderTengoku;
|
||||||
NoriManiaInk00.SetActive(false);
|
NoriManiaInk00.SetActive(false);
|
||||||
NoriManiaInk01.SetActive(false);
|
NoriManiaInk01.SetActive(false);
|
||||||
|
playedJust = false;
|
||||||
break;
|
break;
|
||||||
case (int) KarateMan.NoriMode.Mania:
|
case (int) KarateMan.NoriMode.Mania:
|
||||||
MaxNori = 10;
|
MaxNori = 10;
|
||||||
|
@ -77,6 +79,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
NoriHolder = NoriHolderMania00;
|
NoriHolder = NoriHolderMania00;
|
||||||
NoriManiaInk00.SetActive(true);
|
NoriManiaInk00.SetActive(true);
|
||||||
NoriManiaInk01.SetActive(false);
|
NoriManiaInk01.SetActive(false);
|
||||||
|
playedJust = false;
|
||||||
|
|
||||||
inputsToSwitch = KarateMan.CountHitsToEnd(fromBeat);
|
inputsToSwitch = KarateMan.CountHitsToEnd(fromBeat);
|
||||||
break;
|
break;
|
||||||
|
@ -85,6 +88,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
Nori = 0;
|
Nori = 0;
|
||||||
NoriManiaInk00.SetActive(false);
|
NoriManiaInk00.SetActive(false);
|
||||||
NoriManiaInk01.SetActive(false);
|
NoriManiaInk01.SetActive(false);
|
||||||
|
playedJust = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,8 +140,9 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
NoriHeartAnimators[i].Play("NoriFull", -1, (Time.time * PeriodHigh) % 1f);
|
NoriHeartAnimators[i].Play("NoriFull", -1, (Time.time * PeriodHigh) % 1f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (KarateMan.instance.NoriPerformance >= 0.6f && oldNori / MaxNori < 0.6f)
|
if (KarateMan.instance.NoriPerformance >= 0.6f && oldNori / MaxNori < 0.6f && !playedJust)
|
||||||
{
|
{
|
||||||
|
playedJust = true;
|
||||||
Jukebox.PlayOneShotGame("karateman/nori_just");
|
Jukebox.PlayOneShotGame("karateman/nori_just");
|
||||||
}
|
}
|
||||||
UpdateHeartColours();
|
UpdateHeartColours();
|
||||||
|
@ -176,6 +181,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
}
|
}
|
||||||
if (KarateMan.instance.NoriPerformance < 0.6f && oldNori / MaxNori >= 0.6f)
|
if (KarateMan.instance.NoriPerformance < 0.6f && oldNori / MaxNori >= 0.6f)
|
||||||
{
|
{
|
||||||
|
playedJust = false;
|
||||||
Jukebox.PlayOneShotGame("karateman/nori_ng");
|
Jukebox.PlayOneShotGame("karateman/nori_ng");
|
||||||
}
|
}
|
||||||
UpdateHeartColours();
|
UpdateHeartColours();
|
||||||
|
@ -189,6 +195,7 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
{
|
{
|
||||||
if (Nori >= MaxNori)
|
if (Nori >= MaxNori)
|
||||||
Jukebox.PlayOneShotGame("karateman/nori_through");
|
Jukebox.PlayOneShotGame("karateman/nori_through");
|
||||||
|
playedJust = false;
|
||||||
Nori = 0;
|
Nori = 0;
|
||||||
foreach (Animator anim in NoriHeartAnimators)
|
foreach (Animator anim in NoriHeartAnimators)
|
||||||
{
|
{
|
||||||
|
@ -215,6 +222,8 @@ namespace HeavenStudio.Games.Scripts_KarateMan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (KarateMan.instance.NoriPerformance < 0.6f)
|
||||||
|
playedJust = false;
|
||||||
UpdateHeartColours();
|
UpdateHeartColours();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,13 +13,8 @@ namespace HeavenStudio.Editor
|
||||||
[Header("General References")]
|
[Header("General References")]
|
||||||
[SerializeField] TabsManager tabsManager;
|
[SerializeField] TabsManager tabsManager;
|
||||||
|
|
||||||
[Header("Editable Properties")]
|
|
||||||
[SerializeField] PropertyTag[] infoTags;
|
|
||||||
[SerializeField] PropertyTag[] flavourTags;
|
|
||||||
|
|
||||||
[Header("Containers")]
|
[Header("Containers")]
|
||||||
[SerializeField] ChartInfoProperties infoContainer;
|
[SerializeField] ChartInfoProperties[] containers;
|
||||||
// [SerializeField] ChartFlavourProperties flavourContainer;
|
|
||||||
|
|
||||||
public DynamicBeatmap chart;
|
public DynamicBeatmap chart;
|
||||||
|
|
||||||
|
@ -38,48 +33,51 @@ namespace HeavenStudio.Editor
|
||||||
{
|
{
|
||||||
ResetAllDialogs();
|
ResetAllDialogs();
|
||||||
|
|
||||||
infoContainer.Init(this);
|
foreach (var container in containers)
|
||||||
//flavourContainer.Init(this);
|
{
|
||||||
|
container.Init(this);
|
||||||
|
}
|
||||||
|
|
||||||
tabsManager.OpenContent();
|
tabsManager.OpenContent();
|
||||||
Editor.instance.canSelect = false;
|
Editor.instance.canSelect = false;
|
||||||
Editor.instance.inAuthorativeMenu = true;
|
Editor.instance.inAuthorativeMenu = true;
|
||||||
dialog.SetActive(true);
|
dialog.SetActive(true);
|
||||||
|
|
||||||
|
chart = GameManager.instance.Beatmap;
|
||||||
|
chart["propertiesmodified"] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetupDialog()
|
public void SetupDialog(PropertyTag[] tags, ChartInfoProperties container)
|
||||||
{
|
{
|
||||||
chart = GameManager.instance.Beatmap;
|
chart = GameManager.instance.Beatmap;
|
||||||
PropertyTag[] tags = infoTags;
|
chart["propertiesmodified"] = true;
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
foreach (PropertyTag property in tags)
|
foreach (PropertyTag property in tags)
|
||||||
{
|
{
|
||||||
if (chart.properties.ContainsKey(property.tag))
|
if (chart.properties.ContainsKey(property.tag))
|
||||||
{
|
{
|
||||||
infoContainer.AddParam(this, property.tag, chart.properties[property.tag], property.label, property.isReadOnly);
|
container.AddParam(this, property.tag, chart.properties[property.tag], property.label, property.isReadOnly);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (property.tag == "divider")
|
if (property.tag == "divider")
|
||||||
{
|
{
|
||||||
infoContainer.AddDivider(this);
|
container.AddDivider(this);
|
||||||
}
|
}
|
||||||
else if (property.tag == "header")
|
else if (property.tag == "header")
|
||||||
{
|
{
|
||||||
infoContainer.AddHeader(this, property.label);
|
container.AddHeader(this, property.label);
|
||||||
}
|
}
|
||||||
else if (property.tag == "subheader")
|
else if (property.tag == "subheader")
|
||||||
{
|
{
|
||||||
infoContainer.AddSubHeader(this, property.label);
|
container.AddSubHeader(this, property.label);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.LogWarning("Property Menu generation Warning: Property " + property.tag + " not found, skipping...");
|
Debug.LogWarning("Property Menu generation Warning: Property " + property.tag + " not found, skipping...");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,9 @@ namespace HeavenStudio.Editor
|
||||||
[SerializeField] private GameObject HeaderP;
|
[SerializeField] private GameObject HeaderP;
|
||||||
[SerializeField] private GameObject SubHeaderP;
|
[SerializeField] private GameObject SubHeaderP;
|
||||||
|
|
||||||
|
[Header("Editable Properties")]
|
||||||
|
[SerializeField] RemixPropertiesDialog.PropertyTag[] tags;
|
||||||
|
|
||||||
public void Init(RemixPropertiesDialog diag)
|
public void Init(RemixPropertiesDialog diag)
|
||||||
{
|
{
|
||||||
dialog = diag;
|
dialog = diag;
|
||||||
|
@ -116,7 +119,7 @@ namespace HeavenStudio.Editor
|
||||||
|
|
||||||
public override void OnOpenTab()
|
public override void OnOpenTab()
|
||||||
{
|
{
|
||||||
dialog.SetupDialog();
|
dialog.SetupDialog(tags, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnCloseTab()
|
public override void OnCloseTab()
|
||||||
|
|
Loading…
Reference in a new issue