it's 99.9% finished.
just some touch ups, i don't think i even know of any bugs
This commit is contained in:
parent
e2a544f154
commit
82fa8ed1d8
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 220 KiB |
|
|
@ -5,8 +5,8 @@ TextureImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
serializedVersion: 12
|
serializedVersion: 12
|
||||||
mipmaps:
|
mipmaps:
|
||||||
mipMapMode: 0
|
mipMapMode: 1
|
||||||
enableMipMap: 0
|
enableMipMap: 1
|
||||||
sRGBTexture: 1
|
sRGBTexture: 1
|
||||||
linearTexture: 0
|
linearTexture: 0
|
||||||
fadeOut: 0
|
fadeOut: 0
|
||||||
|
|
@ -33,8 +33,8 @@ TextureImporter:
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
textureSettings:
|
textureSettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
filterMode: 1
|
filterMode: 2
|
||||||
aniso: 1
|
aniso: 8
|
||||||
mipBias: 0
|
mipBias: 0
|
||||||
wrapU: 1
|
wrapU: 1
|
||||||
wrapV: 1
|
wrapV: 1
|
||||||
|
|
@ -67,10 +67,10 @@ TextureImporter:
|
||||||
platformSettings:
|
platformSettings:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
buildTarget: DefaultTexturePlatform
|
buildTarget: DefaultTexturePlatform
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 256
|
||||||
resizeAlgorithm: 0
|
resizeAlgorithm: 0
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
textureCompression: 1
|
textureCompression: 0
|
||||||
compressionQuality: 50
|
compressionQuality: 50
|
||||||
crunchedCompression: 0
|
crunchedCompression: 0
|
||||||
allowsAlphaSplitting: 0
|
allowsAlphaSplitting: 0
|
||||||
|
|
|
||||||
BIN
Assets/Resources/Sprites/Editor/GameIcons/advanced_mask.png
Normal file
BIN
Assets/Resources/Sprites/Editor/GameIcons/advanced_mask.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
123
Assets/Resources/Sprites/Editor/GameIcons/advanced_mask.png.meta
Normal file
123
Assets/Resources/Sprites/Editor/GameIcons/advanced_mask.png.meta
Normal file
|
|
@ -0,0 +1,123 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: b497c224147c3654f93eeb5c0482ace6
|
||||||
|
TextureImporter:
|
||||||
|
internalIDToNameTable: []
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 12
|
||||||
|
mipmaps:
|
||||||
|
mipMapMode: 1
|
||||||
|
enableMipMap: 1
|
||||||
|
sRGBTexture: 1
|
||||||
|
linearTexture: 0
|
||||||
|
fadeOut: 0
|
||||||
|
borderMipMap: 0
|
||||||
|
mipMapsPreserveCoverage: 0
|
||||||
|
alphaTestReferenceValue: 0.5
|
||||||
|
mipMapFadeDistanceStart: 1
|
||||||
|
mipMapFadeDistanceEnd: 3
|
||||||
|
bumpmap:
|
||||||
|
convertToNormalMap: 0
|
||||||
|
externalNormalMap: 0
|
||||||
|
heightScale: 0.25
|
||||||
|
normalMapFilter: 0
|
||||||
|
isReadable: 0
|
||||||
|
streamingMipmaps: 0
|
||||||
|
streamingMipmapsPriority: 0
|
||||||
|
vTOnly: 0
|
||||||
|
ignoreMasterTextureLimit: 0
|
||||||
|
grayScaleToAlpha: 0
|
||||||
|
generateCubemap: 6
|
||||||
|
cubemapConvolution: 0
|
||||||
|
seamlessCubemap: 0
|
||||||
|
textureFormat: 1
|
||||||
|
maxTextureSize: 2048
|
||||||
|
textureSettings:
|
||||||
|
serializedVersion: 2
|
||||||
|
filterMode: 2
|
||||||
|
aniso: 8
|
||||||
|
mipBias: 0
|
||||||
|
wrapU: 1
|
||||||
|
wrapV: 1
|
||||||
|
wrapW: 1
|
||||||
|
nPOTScale: 0
|
||||||
|
lightmap: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
spriteMode: 1
|
||||||
|
spriteExtrude: 1
|
||||||
|
spriteMeshType: 1
|
||||||
|
alignment: 0
|
||||||
|
spritePivot: {x: 0.5, y: 0.5}
|
||||||
|
spritePixelsToUnits: 100
|
||||||
|
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
spriteGenerateFallbackPhysicsShape: 1
|
||||||
|
alphaUsage: 1
|
||||||
|
alphaIsTransparency: 1
|
||||||
|
spriteTessellationDetail: -1
|
||||||
|
textureType: 8
|
||||||
|
textureShape: 1
|
||||||
|
singleChannelComponent: 0
|
||||||
|
flipbookRows: 1
|
||||||
|
flipbookColumns: 1
|
||||||
|
maxTextureSizeSet: 0
|
||||||
|
compressionQualitySet: 0
|
||||||
|
textureFormatSet: 0
|
||||||
|
ignorePngGamma: 0
|
||||||
|
applyGammaDecoding: 0
|
||||||
|
cookieLightType: 0
|
||||||
|
platformSettings:
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: DefaultTexturePlatform
|
||||||
|
maxTextureSize: 256
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 0
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Standalone
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
buildTarget: Server
|
||||||
|
maxTextureSize: 2048
|
||||||
|
resizeAlgorithm: 0
|
||||||
|
textureFormat: -1
|
||||||
|
textureCompression: 1
|
||||||
|
compressionQuality: 50
|
||||||
|
crunchedCompression: 0
|
||||||
|
allowsAlphaSplitting: 0
|
||||||
|
overridden: 0
|
||||||
|
androidETC2FallbackOverride: 0
|
||||||
|
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||||
|
spriteSheet:
|
||||||
|
serializedVersion: 2
|
||||||
|
sprites: []
|
||||||
|
outline: []
|
||||||
|
physicsShape: []
|
||||||
|
bones: []
|
||||||
|
spriteID: 5e97eb03825dee720800000000000000
|
||||||
|
internalID: 0
|
||||||
|
vertices: []
|
||||||
|
indices:
|
||||||
|
edges: []
|
||||||
|
weights: []
|
||||||
|
secondaryTextures: []
|
||||||
|
nameFileIdTable: {}
|
||||||
|
spritePackingTag:
|
||||||
|
pSDRemoveMatte: 0
|
||||||
|
pSDShowRemoveMatteOption: 0
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -623,7 +623,7 @@ namespace HeavenStudio
|
||||||
public static void PlaySFXArbitrary(double beat, string game, string name, float pitch, int offset)
|
public static void PlaySFXArbitrary(double beat, string game, string name, float pitch, int offset)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(name)) return;
|
if (string.IsNullOrEmpty(name)) return;
|
||||||
if (string.IsNullOrEmpty(game)) {
|
if (game == "common") {
|
||||||
SoundByte.PlayOneShot(name, beat, pitch, offset: offset);
|
SoundByte.PlayOneShot(name, beat, pitch, offset: offset);
|
||||||
} else {
|
} else {
|
||||||
SoundByte.PreloadGameAudioClips(game);
|
SoundByte.PreloadGameAudioClips(game);
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,14 @@ namespace HeavenStudio.Editor.Commands
|
||||||
|
|
||||||
foreach (var entity in entities)
|
foreach (var entity in entities)
|
||||||
{
|
{
|
||||||
dupEntityData.Add(entity.DeepCopy());
|
var newEntity = entity.DeepCopy();
|
||||||
|
// there's gotta be a better way to do this. i just don't know how... -AJ
|
||||||
|
foreach ((var key, var value) in new Dictionary<string, dynamic>(newEntity.dynamicData)) {
|
||||||
|
if (value is EntityTypes.DropdownObj dd) {
|
||||||
|
newEntity[key] = new EntityTypes.DropdownObj(dd.value, dd.Values);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dupEntityData.Add(newEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var i = 0; i < original.Count; i++)
|
for (var i = 0; i < original.Count; i++)
|
||||||
|
|
|
||||||
|
|
@ -45,8 +45,6 @@ namespace HeavenStudio.Editor
|
||||||
// buttonText.text = entity[propertyName];
|
// buttonText.text = entity[propertyName];
|
||||||
// }
|
// }
|
||||||
|
|
||||||
Debug.Log(buttonTextRect.sizeDelta.x > minButtonSize ? "buttonTextRect.sizeDelta.x : " + buttonTextRect.sizeDelta.x : "minButtonSize : " + minButtonSize);
|
|
||||||
|
|
||||||
buttonRect.sizeDelta = new(Mathf.Max(buttonTextRect.sizeDelta.x, minButtonSize), buttonRect.sizeDelta.y);
|
buttonRect.sizeDelta = new(Mathf.Max(buttonTextRect.sizeDelta.x, minButtonSize), buttonRect.sizeDelta.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -951,7 +951,13 @@ namespace HeavenStudio.Editor.Track
|
||||||
|
|
||||||
foreach (RiqEntity entity in original)
|
foreach (RiqEntity entity in original)
|
||||||
{
|
{
|
||||||
CopiedEntities.Add(entity.DeepCopy());
|
var newEntity = entity.DeepCopy();
|
||||||
|
foreach (var key in newEntity.dynamicData.Keys) {
|
||||||
|
if (newEntity[key] is EntityTypes.DropdownObj dd) {
|
||||||
|
newEntity[key] = new EntityTypes.DropdownObj(dd.value, dd.Values);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CopiedEntities.Add(newEntity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ using SatorImaging.UnitySourceGenerator;
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using UnityEngine.Assertions.Must;
|
||||||
|
|
||||||
namespace HeavenStudio
|
namespace HeavenStudio
|
||||||
{
|
{
|
||||||
|
|
@ -870,7 +871,7 @@ namespace HeavenStudio
|
||||||
{
|
{
|
||||||
new Param("valA", new EntityTypes.Float(-50, 50, 0), "Right / Left", "Set the position on the X axis."),
|
new Param("valA", new EntityTypes.Float(-50, 50, 0), "Right / Left", "Set the position on the X axis."),
|
||||||
new Param("valB", new EntityTypes.Float(-50, 50, 0), "Up / Down", "Set the position on the Y axis."),
|
new Param("valB", new EntityTypes.Float(-50, 50, 0), "Up / Down", "Set the position on the Y axis."),
|
||||||
new Param("valC", new EntityTypes.Float(-0, 250, 10), "In / Out", "Set the position on the Z axis."),
|
new Param("valC", new EntityTypes.Float(-250, 250, 10), "In / Out", "Set the position on the Z axis."),
|
||||||
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action."),
|
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action."),
|
||||||
new Param("axis", GameCamera.CameraAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
new Param("axis", GameCamera.CameraAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
||||||
}
|
}
|
||||||
|
|
@ -900,8 +901,8 @@ namespace HeavenStudio
|
||||||
),
|
),
|
||||||
new GameAction("scale view", "Scale Viewport", 1f, true, new List<Param>()
|
new GameAction("scale view", "Scale Viewport", 1f, true, new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("valA", new EntityTypes.Float(0, 50, 1), "Width", "Set the width of the viewport."),
|
new Param("valA", new EntityTypes.Float(-50f, 50, 1), "Width", "Set the width of the viewport."),
|
||||||
new Param("valB", new EntityTypes.Float(0, 50, 1), "Height", "Set the height of the viewport."),
|
new Param("valB", new EntityTypes.Float(-50f, 50, 1), "Height", "Set the height of the viewport."),
|
||||||
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action."),
|
new Param("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action."),
|
||||||
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
new Param("axis", StaticCamera.ViewAxis.All, "Axis", "Set if only a specific axis should be modified." )
|
||||||
}
|
}
|
||||||
|
|
@ -911,10 +912,10 @@ namespace HeavenStudio
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new()
|
parameters = new()
|
||||||
{
|
{
|
||||||
new("x1", new EntityTypes.Float(0f, 50f, 1f), "Start Width", "Set the width at the start of the event."),
|
new("x1", new EntityTypes.Float(-50f, 50f, 1f), "Start Width", "Set the width at the start of the event."),
|
||||||
new("x2", new EntityTypes.Float(0f, 50f, 1f), "End Width", "Set the width at the end of the event."),
|
new("x2", new EntityTypes.Float(-50f, 50f, 1f), "End Width", "Set the width at the end of the event."),
|
||||||
new("y1", new EntityTypes.Float(0f, 50f, 1f), "Start Height", "Set the height at the start of the event."),
|
new("y1", new EntityTypes.Float(-50f, 50f, 1f), "Start Height", "Set the height at the start of the event."),
|
||||||
new("y2", new EntityTypes.Float(0f, 50f, 1f), "End Height", "Set the height at the end of the event."),
|
new("y2", new EntityTypes.Float(-50f, 50f, 1f), "End Height", "Set the height at the end of the event."),
|
||||||
new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new()
|
new("ease", Util.EasingFunction.Ease.Linear, "Ease", "Set the easing of the action.", new()
|
||||||
{
|
{
|
||||||
new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "x1", "y1" })
|
new((x, y) => (Util.EasingFunction.Ease)x != Util.EasingFunction.Ease.Instant, new string[] { "x1", "y1" })
|
||||||
|
|
@ -1167,8 +1168,9 @@ namespace HeavenStudio
|
||||||
((EntityTypes.DropdownObj)e["animator"]).SetValues(animators.Select(anim => {
|
((EntityTypes.DropdownObj)e["animator"]).SetValues(animators.Select(anim => {
|
||||||
var obj = anim.gameObject;
|
var obj = anim.gameObject;
|
||||||
List<string> path = new() { obj.name };
|
List<string> path = new() { obj.name };
|
||||||
while (obj.transform.parent != null && obj.transform.parent.name != game.name)
|
for (int i = 0; i < 10; i++)
|
||||||
{
|
{
|
||||||
|
if (obj.transform.parent == null || obj.transform.parent.name == game.name) break;
|
||||||
obj = obj.transform.parent.gameObject;
|
obj = obj.transform.parent.gameObject;
|
||||||
path.Add(obj.name);
|
path.Add(obj.name);
|
||||||
}
|
}
|
||||||
|
|
@ -1177,7 +1179,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
return game?.displayName ?? "No Game";
|
return game?.displayName ?? "No Game";
|
||||||
}), "Get Animators", "Get all the animators in the current minigame scene. (Make sure to have the minigame you want loaded!)", new() {
|
}), "Get Animators", "Get all the animators in the current minigame scene. (Make sure to have the minigame you want loaded!)", new() {
|
||||||
new((x, _) => { Debug.Log(x.GetType()); return (string)x != "No Game"; }, "animator", "getAnimations")
|
new((x, _) => (string)x != "No Game", "animator", "getAnimations")
|
||||||
}),
|
}),
|
||||||
new Param("animator", new EntityTypes.Dropdown(), "Animator", "Specify which animator in the scene to play an animation on."),
|
new Param("animator", new EntityTypes.Dropdown(), "Animator", "Specify which animator in the scene to play an animation on."),
|
||||||
new Param("getAnimations", new EntityTypes.Button("", e => {
|
new Param("getAnimations", new EntityTypes.Button("", e => {
|
||||||
|
|
@ -1189,16 +1191,17 @@ namespace HeavenStudio
|
||||||
if (!string.IsNullOrEmpty(animPath)) {
|
if (!string.IsNullOrEmpty(animPath)) {
|
||||||
var animObj = gm.minigameObj.transform.Find(animPath);
|
var animObj = gm.minigameObj.transform.Find(animPath);
|
||||||
if (animObj != null && animObj.TryGetComponent(out animator) && animator != null) {
|
if (animObj != null && animObj.TryGetComponent(out animator) && animator != null) {
|
||||||
var animations = animator
|
List<string> animationClips = new();
|
||||||
.runtimeAnimatorController
|
foreach (var clip in animator.runtimeAnimatorController.animationClips) {
|
||||||
.animationClips
|
if (clip != null) {
|
||||||
.Select(x => x.name)
|
animationClips.Add(clip.name);
|
||||||
.ToList();
|
}
|
||||||
((EntityTypes.DropdownObj)e["animation"]).SetValues(animations);
|
}
|
||||||
|
((EntityTypes.DropdownObj)e["animation"]).SetValues(animationClips);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return animator != null ? animator.name : "";
|
return animator != null ? animator.name : "";
|
||||||
}), "Get Animations", "Get all the animators in the current minigame scene. (Make sure to have the minigame you want loaded!)", new() {
|
}), "Get Animations", "Get all the animations in the selected animator.", new() {
|
||||||
new((x, _) => (string)x != "", "animation", "scale")
|
new((x, _) => (string)x != "", "animation", "scale")
|
||||||
}),
|
}),
|
||||||
new Param("animation", new EntityTypes.Dropdown(), "Animation", "Specify the name of the animation to play."),
|
new Param("animation", new EntityTypes.Dropdown(), "Animation", "Specify the name of the animation to play."),
|
||||||
|
|
@ -1213,18 +1216,24 @@ namespace HeavenStudio
|
||||||
new List<Param>()
|
new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("game", new EntityTypes.Dropdown(), "Which Game", "Specify the game's sfx to play. An empty input will play global sfx."),
|
new Param("game", new EntityTypes.Dropdown(), "Which Game", "Specify the game's sfx to play. An empty input will play global sfx."),
|
||||||
new Param("getAnimations", new EntityTypes.Button("", e => {
|
new Param("getSfx", new EntityTypes.Button("", e => {
|
||||||
string gameName = ((EntityTypes.DropdownObj)e["game"]).CurrentValue;
|
string gameName = ((EntityTypes.DropdownObj)e["game"]).CurrentValue;
|
||||||
Minigame game = eventCaller.minigames[gameName];
|
List<string> clips;
|
||||||
IEnumerable<AudioClip> audioClips = game.GetCommonAssetBundle().LoadAllAssets<AudioClip>();
|
if (eventCaller.minigames.TryGetValue(gameName, out Minigame game) && game != null) {
|
||||||
var localAssBun = game.GetLocalizedAssetBundle();
|
IEnumerable<AudioClip> audioClips = game.GetCommonAssetBundle().LoadAllAssets<AudioClip>();
|
||||||
if (localAssBun != null) {
|
var localAssBun = game.GetLocalizedAssetBundle();
|
||||||
audioClips = audioClips.Concat(localAssBun.LoadAllAssets<AudioClip>());
|
if (localAssBun != null) {
|
||||||
|
audioClips = audioClips.Concat(localAssBun.LoadAllAssets<AudioClip>());
|
||||||
|
}
|
||||||
|
clips = audioClips.Select(x => x.name).ToList();
|
||||||
|
} else {
|
||||||
|
// this is probably the best way to do it?
|
||||||
|
clips = new() { "applause", "metronome", "miss", "nearMiss", "perfectMiss", "skillStar" };
|
||||||
}
|
}
|
||||||
EntityTypes.DropdownObj sfxDD = e["sfxName"];
|
EntityTypes.DropdownObj sfxDD = e["sfxName"];
|
||||||
sfxDD.SetValues(audioClips.Select(x => x.name).ToList());
|
sfxDD.SetValues(clips);
|
||||||
return !string.IsNullOrEmpty(gameName) ? eventCaller.minigames[gameName]?.displayName : "N/A";
|
return game != null ? game.displayName : "Common";
|
||||||
}), "Get Animations", "Get all the animators in the current minigame scene. (Make sure to have the minigame you want loaded!)"),
|
}), "Get SFX", "Get all the sfx in the selected minigame."),
|
||||||
new Param("sfxName", new EntityTypes.Dropdown(), "SFX Name", "The name of the sfx to play."),
|
new Param("sfxName", new EntityTypes.Dropdown(), "SFX Name", "The name of the sfx to play."),
|
||||||
new Param("pitch", new EntityTypes.Float(0, 5, 1), "Pitch", "The sfx's pitch."),
|
new Param("pitch", new EntityTypes.Float(0, 5, 1), "Pitch", "The sfx's pitch."),
|
||||||
new Param("offset", new EntityTypes.Integer(-500, 500), "Offset (ms)", "The sfx's offset in milliseconds."),
|
new Param("offset", new EntityTypes.Integer(-500, 500), "Offset (ms)", "The sfx's offset in milliseconds."),
|
||||||
|
|
@ -1246,7 +1255,7 @@ namespace HeavenStudio
|
||||||
|
|
||||||
// im so sorry
|
// im so sorry
|
||||||
eventCaller.minigames["advanced"].actions
|
eventCaller.minigames["advanced"].actions
|
||||||
.Find(a => a.actionName == "play sfx").parameters[0].parameter = new EntityTypes.Dropdown(0, eventCaller.minigames.Keys.Skip(defaultGames.Count).Concat(new string[] { "" }).ToArray());
|
.Find(a => a.actionName == "play sfx").parameters[0].parameter = new EntityTypes.Dropdown(0, new string[] { "common" }.Concat(eventCaller.minigames.Keys.Skip(defaultGames.Count)).ToArray());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -95,7 +95,7 @@ namespace HeavenStudio
|
||||||
}
|
}
|
||||||
public int value;
|
public int value;
|
||||||
public List<string> Values { get; private set; }
|
public List<string> Values { get; private set; }
|
||||||
[JsonIgnore] public string CurrentValue => value < Values?.Count - 1 ? Values?[value] : null;
|
[JsonIgnore] public string CurrentValue => value < Values?.Count ? Values?[value] : null;
|
||||||
[JsonIgnore] public Action<List<string>> onValueChanged;
|
[JsonIgnore] public Action<List<string>> onValueChanged;
|
||||||
|
|
||||||
public DropdownObj(int defaultValue = 0, List<string> values = null)
|
public DropdownObj(int defaultValue = 0, List<string> values = null)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue