mirror of
https://github.com/RHeavenStudioPlus/HeavenStudioPlus.git
synced 2024-11-13 21:25:09 +00:00
Merge branch 'release_1'
This commit is contained in:
commit
8f9d0e5af7
5 changed files with 84 additions and 72 deletions
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
@ -51,5 +51,5 @@
|
||||||
"temp/": true,
|
"temp/": true,
|
||||||
"Temp/": true
|
"Temp/": true
|
||||||
},
|
},
|
||||||
"dotnet.defaultSolution": "HeavenStudio-AstrlJelly.sln"
|
"dotnet.defaultSolution": "HeavenStudio.sln"
|
||||||
}
|
}
|
|
@ -26958,7 +26958,7 @@ MonoBehaviour:
|
||||||
- name: crowd_hai
|
- name: crowd_hai
|
||||||
sequence:
|
sequence:
|
||||||
game: 1
|
game: 1
|
||||||
force: 0
|
force: 1
|
||||||
clips:
|
clips:
|
||||||
- clip: fanClub/crowd_hai_jp
|
- clip: fanClub/crowd_hai_jp
|
||||||
beat: 0
|
beat: 0
|
||||||
|
@ -27100,7 +27100,7 @@ MonoBehaviour:
|
||||||
- name: crowd_kamone
|
- name: crowd_kamone
|
||||||
sequence:
|
sequence:
|
||||||
game: 1
|
game: 1
|
||||||
force: 0
|
force: 1
|
||||||
clips:
|
clips:
|
||||||
- clip: fanClub/crowd_ka_jp
|
- clip: fanClub/crowd_ka_jp
|
||||||
beat: 0
|
beat: 0
|
||||||
|
@ -27133,7 +27133,7 @@ MonoBehaviour:
|
||||||
- name: crowd_iina
|
- name: crowd_iina
|
||||||
sequence:
|
sequence:
|
||||||
game: 1
|
game: 1
|
||||||
force: 0
|
force: 1
|
||||||
clips:
|
clips:
|
||||||
- clip: fanClub/crowd_ii_jp
|
- clip: fanClub/crowd_ii_jp
|
||||||
beat: 0
|
beat: 0
|
||||||
|
|
|
@ -10,12 +10,13 @@ namespace HeavenStudio.Games.Loaders
|
||||||
using static Minigames;
|
using static Minigames;
|
||||||
public static class NtrIdolLoader
|
public static class NtrIdolLoader
|
||||||
{
|
{
|
||||||
public static Minigame AddGame(EventCaller eventCaller) {
|
public static Minigame AddGame(EventCaller eventCaller)
|
||||||
|
{
|
||||||
return new Minigame("fanClub", "Fan Club", "ff78ff", false, false, new List<GameAction>()
|
return new Minigame("fanClub", "Fan Club", "ff78ff", false, false, new List<GameAction>()
|
||||||
{
|
{
|
||||||
new GameAction("bop", "Bop")
|
new GameAction("bop", "Bop")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.Bop(e.beat, e.length, e["type"], e["type2"]); },
|
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.Bop(e.beat, e.length, e["type"], e["type2"]); },
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
|
@ -25,7 +26,7 @@ namespace HeavenStudio.Games.Loaders
|
||||||
},
|
},
|
||||||
new GameAction("yeah, yeah, yeah", "Yeah, Yeah, Yeah!")
|
new GameAction("yeah, yeah, yeah", "Yeah, Yeah, Yeah!")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.CallHai(e.beat, e["toggle"], e["toggle2"]); },
|
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.CallHai(e.beat, e["toggle"], e["toggle2"]); },
|
||||||
defaultLength = 8,
|
defaultLength = 8,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
|
@ -33,12 +34,12 @@ namespace HeavenStudio.Games.Loaders
|
||||||
new Param("toggle2", false, "Disable response SFX", "Disable the monkeys's response")
|
new Param("toggle2", false, "Disable response SFX", "Disable the monkeys's response")
|
||||||
},
|
},
|
||||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; FanClub.WarnHai(e.beat, e["toggle"]);},
|
inactiveFunction = delegate { var e = eventCaller.currentEntity; FanClub.WarnHai(e.beat, e["toggle"]);},
|
||||||
preFunction = delegate { var e = eventCaller.currentEntity; FanClub.HaiSound(e.beat, e["toggle"]); }
|
preFunction = delegate { var e = eventCaller.currentEntity; FanClub.HaiSound(e.beat, e["toggle"], e["toggle2"]); }
|
||||||
},
|
},
|
||||||
new GameAction("I suppose", "I Suppose!")
|
new GameAction("I suppose", "I Suppose!")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.CallKamone(e.beat, e["toggle"], e["toggle2"], 0, e["type"], e["alt"]); },
|
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.CallKamone(e.beat, e["toggle"], e["toggle2"], 0, e["type"], e["alt"]); },
|
||||||
defaultLength = 6,
|
defaultLength = 6,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("type", FanClub.KamoneResponseType.Through, "Response type", "Type of response to use"),
|
new Param("type", FanClub.KamoneResponseType.Through, "Response type", "Type of response to use"),
|
||||||
|
@ -47,11 +48,11 @@ namespace HeavenStudio.Games.Loaders
|
||||||
new Param("alt", false, "Alternate cue", "Use an alternate cue")
|
new Param("alt", false, "Alternate cue", "Use an alternate cue")
|
||||||
},
|
},
|
||||||
inactiveFunction = delegate { var e = eventCaller.currentEntity; FanClub.WarnKamone(e.beat, e["toggle"], 0, e["type"], e["alt"]);},
|
inactiveFunction = delegate { var e = eventCaller.currentEntity; FanClub.WarnKamone(e.beat, e["toggle"], 0, e["type"], e["alt"]);},
|
||||||
preFunction = delegate { var e = eventCaller.currentEntity; FanClub.KamoneSound(e.beat, e["toggle"], 0, e["type"], e["alt"]); }
|
preFunction = delegate { var e = eventCaller.currentEntity; FanClub.KamoneSound(e.beat, e["toggle"], e["toggle2"], 0, e["type"], e["alt"]); }
|
||||||
},
|
},
|
||||||
new GameAction("double clap", "Double Clap")
|
new GameAction("double clap", "Double Clap")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.CallBigReady(e.beat, e["toggle"]); },
|
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.CallBigReady(e.beat, e["toggle"]); },
|
||||||
defaultLength = 4,
|
defaultLength = 4,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
|
@ -63,7 +64,7 @@ namespace HeavenStudio.Games.Loaders
|
||||||
new GameAction("play idol animation", "Idol Coreography")
|
new GameAction("play idol animation", "Idol Coreography")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.PlayAnim(e.beat, e.length, e["type"], e["who"]); },
|
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.PlayAnim(e.beat, e.length, e["type"], e["who"]); },
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("type", FanClub.IdolAnimations.Bop, "Animation", "Animation to play"),
|
new Param("type", FanClub.IdolAnimations.Bop, "Animation", "Animation to play"),
|
||||||
|
@ -72,8 +73,8 @@ namespace HeavenStudio.Games.Loaders
|
||||||
},
|
},
|
||||||
new GameAction("play stage animation", "Stage Coreography")
|
new GameAction("play stage animation", "Stage Coreography")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.PlayAnimStage(e.beat, e["type"]); },
|
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.PlayAnimStage(e.beat, e["type"]); },
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("type", FanClub.StageAnimations.Flash, "Animation", "Animation to play")
|
new Param("type", FanClub.StageAnimations.Flash, "Animation", "Animation to play")
|
||||||
|
@ -83,7 +84,7 @@ namespace HeavenStudio.Games.Loaders
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.DancerTravel(e.beat, e.length, e["exit"], e["instant"]); },
|
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.DancerTravel(e.beat, e.length, e["exit"], e["instant"]); },
|
||||||
defaultLength = 16f,
|
defaultLength = 16f,
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("exit", false, "Exit", "Backup dancers exit instead"),
|
new Param("exit", false, "Exit", "Backup dancers exit instead"),
|
||||||
|
@ -103,12 +104,12 @@ namespace HeavenStudio.Games.Loaders
|
||||||
},
|
},
|
||||||
new GameAction("finish", "Applause")
|
new GameAction("finish", "Applause")
|
||||||
{
|
{
|
||||||
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.FinalCheer(e.beat); },
|
function = delegate { var e = eventCaller.currentEntity; FanClub.instance.FinalCheer(e.beat); },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
new List<string>() {"ntr", "normal"},
|
new List<string>() { "ntr", "normal" },
|
||||||
"ntridol", "jp",
|
"ntridol", "jp",
|
||||||
new List<string>() {"jp"}
|
new List<string>() { "jp" }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -117,16 +118,18 @@ namespace HeavenStudio.Games.Loaders
|
||||||
namespace HeavenStudio.Games
|
namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
using Scripts_FanClub;
|
using Scripts_FanClub;
|
||||||
|
|
||||||
public class FanClub : Minigame
|
public class FanClub : Minigame
|
||||||
{
|
{
|
||||||
public enum IdolBopType {
|
public enum IdolBopType
|
||||||
|
{
|
||||||
Both,
|
Both,
|
||||||
Idol,
|
Idol,
|
||||||
Spectators,
|
Spectators,
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
public enum IdolAnimations {
|
public enum IdolAnimations
|
||||||
|
{
|
||||||
Bop,
|
Bop,
|
||||||
PeaceVocal,
|
PeaceVocal,
|
||||||
Peace,
|
Peace,
|
||||||
|
@ -140,23 +143,27 @@ namespace HeavenStudio.Games
|
||||||
Dab,
|
Dab,
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
public enum KamoneResponseType {
|
public enum KamoneResponseType
|
||||||
|
{
|
||||||
Through,
|
Through,
|
||||||
Jump,
|
Jump,
|
||||||
ThroughFast,
|
ThroughFast,
|
||||||
JumpFast,
|
JumpFast,
|
||||||
}
|
}
|
||||||
public enum StageAnimations {
|
public enum StageAnimations
|
||||||
|
{
|
||||||
Reset,
|
Reset,
|
||||||
Flash,
|
Flash,
|
||||||
Spot
|
Spot
|
||||||
}
|
}
|
||||||
public enum IdolPerformanceType {
|
public enum IdolPerformanceType
|
||||||
|
{
|
||||||
Normal,
|
Normal,
|
||||||
Arrange,
|
Arrange,
|
||||||
// Tour(this one is fan made so ?)
|
// Tour(this one is fan made so ?)
|
||||||
}
|
}
|
||||||
public enum IdolType {
|
public enum IdolType
|
||||||
|
{
|
||||||
All,
|
All,
|
||||||
Idol,
|
Idol,
|
||||||
LeftDancer,
|
LeftDancer,
|
||||||
|
@ -188,7 +195,7 @@ namespace HeavenStudio.Games
|
||||||
// end userdata
|
// end userdata
|
||||||
|
|
||||||
public bool JudgementPaused { get => noJudgement; }
|
public bool JudgementPaused { get => noJudgement; }
|
||||||
public bool JudgementInputPaused { get => noJudgementInput; set => noJudgementInput = value;}
|
public bool JudgementInputPaused { get => noJudgementInput; set => noJudgementInput = value; }
|
||||||
|
|
||||||
//arisa's animation controller
|
//arisa's animation controller
|
||||||
private Animator idolAnimator;
|
private Animator idolAnimator;
|
||||||
|
@ -198,7 +205,7 @@ namespace HeavenStudio.Games
|
||||||
|
|
||||||
// orange's animation controller
|
// orange's animation controller
|
||||||
private Animator backupLAnimator;
|
private Animator backupLAnimator;
|
||||||
|
|
||||||
//spectators
|
//spectators
|
||||||
private NtrIdolFan Player;
|
private NtrIdolFan Player;
|
||||||
private List<GameObject> Spectators;
|
private List<GameObject> Spectators;
|
||||||
|
@ -210,11 +217,11 @@ namespace HeavenStudio.Games
|
||||||
private GameEvent noSpecBop = new GameEvent();
|
private GameEvent noSpecBop = new GameEvent();
|
||||||
|
|
||||||
private double idolJumpStartTime = double.MinValue;
|
private double idolJumpStartTime = double.MinValue;
|
||||||
private static int performanceType = (int) IdolPerformanceType.Normal;
|
private static int performanceType = (int)IdolPerformanceType.Normal;
|
||||||
private bool responseToggle = false;
|
private bool responseToggle = false;
|
||||||
private static double wantHais = double.MinValue;
|
private static double wantHais = double.MinValue;
|
||||||
private static double wantKamone = double.MinValue;
|
private static double wantKamone = double.MinValue;
|
||||||
private static int wantKamoneType = (int) KamoneResponseType.Through;
|
private static int wantKamoneType = (int)KamoneResponseType.Through;
|
||||||
private static bool wantKamoneAlt = false;
|
private static bool wantKamoneAlt = false;
|
||||||
private static double wantBigReady = double.MinValue;
|
private static double wantBigReady = double.MinValue;
|
||||||
private bool hasJumped = false;
|
private bool hasJumped = false;
|
||||||
|
@ -280,7 +287,7 @@ namespace HeavenStudio.Games
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (performanceType != (int) IdolPerformanceType.Normal)
|
if (performanceType != (int)IdolPerformanceType.Normal)
|
||||||
{
|
{
|
||||||
idolAnimator.Play("NoPose" + GetPerformanceSuffix(), -1, 0);
|
idolAnimator.Play("NoPose" + GetPerformanceSuffix(), -1, 0);
|
||||||
}
|
}
|
||||||
|
@ -304,7 +311,7 @@ namespace HeavenStudio.Games
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FanClub.SetPerformanceType((int) IdolPerformanceType.Normal);
|
FanClub.SetPerformanceType((int)IdolPerformanceType.Normal);
|
||||||
var choreoTypeEvts = EventCaller.GetAllInGameManagerList("fanClub", new string[] { "set performance type" });
|
var choreoTypeEvts = EventCaller.GetAllInGameManagerList("fanClub", new string[] { "set performance type" });
|
||||||
foreach (var e in choreoTypeEvts)
|
foreach (var e in choreoTypeEvts)
|
||||||
{
|
{
|
||||||
|
@ -319,14 +326,14 @@ namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
switch (performanceType)
|
switch (performanceType)
|
||||||
{
|
{
|
||||||
case (int) IdolPerformanceType.Arrange:
|
case (int)IdolPerformanceType.Arrange:
|
||||||
return "Arrange";
|
return "Arrange";
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetPerformanceType(int type = (int) IdolPerformanceType.Normal)
|
public static void SetPerformanceType(int type = (int)IdolPerformanceType.Normal)
|
||||||
{
|
{
|
||||||
performanceType = type;
|
performanceType = type;
|
||||||
if (GameManager.instance.currentGame == "fanClub")
|
if (GameManager.instance.currentGame == "fanClub")
|
||||||
|
@ -379,7 +386,7 @@ namespace HeavenStudio.Games
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
var cond = Conductor.instance;
|
var cond = Conductor.instance;
|
||||||
|
|
||||||
//idol jumping physics
|
//idol jumping physics
|
||||||
float jumpPos = cond.GetPositionFromBeat(idolJumpStartTime, 1f);
|
float jumpPos = cond.GetPositionFromBeat(idolJumpStartTime, 1f);
|
||||||
float IDOL_SHADOW_SCALE = 1.18f;
|
float IDOL_SHADOW_SCALE = 1.18f;
|
||||||
|
@ -387,9 +394,9 @@ namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
hasJumped = true;
|
hasJumped = true;
|
||||||
float yMul = jumpPos * 2f - 1f;
|
float yMul = jumpPos * 2f - 1f;
|
||||||
float yWeight = -(yMul*yMul) + 1f;
|
float yWeight = -(yMul * yMul) + 1f;
|
||||||
ArisaRootMotion.transform.localPosition = new Vector3(0, 2f * yWeight + 0.25f);
|
ArisaRootMotion.transform.localPosition = new Vector3(0, 2f * yWeight + 0.25f);
|
||||||
ArisaShadow.transform.localScale = new Vector3((1f-yWeight*0.8f) * IDOL_SHADOW_SCALE, (1f-yWeight*0.8f) * IDOL_SHADOW_SCALE, 1f);
|
ArisaShadow.transform.localScale = new Vector3((1f - yWeight * 0.8f) * IDOL_SHADOW_SCALE, (1f - yWeight * 0.8f) * IDOL_SHADOW_SCALE, 1f);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -399,7 +406,7 @@ namespace HeavenStudio.Games
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Bop(double beat, float length, int target = (int) IdolBopType.Both, int targetAuto = (int)IdolBopType.Both)
|
public void Bop(double beat, float length, int target = (int)IdolBopType.Both, int targetAuto = (int)IdolBopType.Both)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < length; i++)
|
for (int i = 0; i < length; i++)
|
||||||
{
|
{
|
||||||
|
@ -543,15 +550,15 @@ namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case (int) StageAnimations.Reset:
|
case (int)StageAnimations.Reset:
|
||||||
StageAnimator.Play("Bg", -1, 0);
|
StageAnimator.Play("Bg", -1, 0);
|
||||||
ToSpot();
|
ToSpot();
|
||||||
break;
|
break;
|
||||||
case (int) StageAnimations.Flash:
|
case (int)StageAnimations.Flash:
|
||||||
StageAnimator.Play("Bg_Light", -1, 0);
|
StageAnimator.Play("Bg_Light", -1, 0);
|
||||||
ToSpot();
|
ToSpot();
|
||||||
break;
|
break;
|
||||||
case (int) StageAnimations.Spot:
|
case (int)StageAnimations.Spot:
|
||||||
StageAnimator.Play("Bg_Spot", -1, 0);
|
StageAnimator.Play("Bg_Spot", -1, 0);
|
||||||
ToSpot(false);
|
ToSpot(false);
|
||||||
break;
|
break;
|
||||||
|
@ -566,7 +573,7 @@ namespace HeavenStudio.Games
|
||||||
if (unspot)
|
if (unspot)
|
||||||
spectatorMat.SetColor("_Color", new Color(1, 1, 1, 1));
|
spectatorMat.SetColor("_Color", new Color(1, 1, 1, 1));
|
||||||
else
|
else
|
||||||
spectatorMat.SetColor("_Color", new Color(117/255f, 177/255f, 209/255f, 1));
|
spectatorMat.SetColor("_Color", new Color(117 / 255f, 177 / 255f, 209 / 255f, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DoIdolJump(double beat, float length = 3f)
|
private void DoIdolJump(double beat, float length = 3f)
|
||||||
|
@ -639,10 +646,10 @@ namespace HeavenStudio.Games
|
||||||
responseToggle = false;
|
responseToggle = false;
|
||||||
DisableBop(beat, 8f);
|
DisableBop(beat, 8f);
|
||||||
|
|
||||||
Prepare(beat + 3f);
|
Prepare(beat + 3f);
|
||||||
Prepare(beat + 4f);
|
Prepare(beat + 4f);
|
||||||
Prepare(beat + 5f);
|
Prepare(beat + 5f);
|
||||||
Prepare(beat + 6f);
|
Prepare(beat + 6f);
|
||||||
|
|
||||||
BeatAction.New(instance, new List<BeatAction.Action>()
|
BeatAction.New(instance, new List<BeatAction.Action>()
|
||||||
{
|
{
|
||||||
|
@ -657,8 +664,6 @@ namespace HeavenStudio.Games
|
||||||
new BeatAction.Action(beat + 6f, delegate { PlayOneClap(beat + 6f); DoIdolClaps();}),
|
new BeatAction.Action(beat + 6f, delegate { PlayOneClap(beat + 6f); DoIdolClaps();}),
|
||||||
new BeatAction.Action(beat + 7f, delegate { PlayOneClap(beat + 7f); DoIdolClaps();}),
|
new BeatAction.Action(beat + 7f, delegate { PlayOneClap(beat + 7f); DoIdolClaps();}),
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!noResponse) PlaySoundSequence("fanClub", "crowd_hai", beat + 4f);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void WarnHai(double beat, bool noSound = false, int type = 0)
|
public static void WarnHai(double beat, bool noSound = false, int type = 0)
|
||||||
|
@ -666,8 +671,9 @@ namespace HeavenStudio.Games
|
||||||
wantHais = beat;
|
wantHais = beat;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void HaiSound(double beat, bool noSound = false, int type = 0)
|
public static void HaiSound(double beat, bool noSound = false, bool noResponse = false, int type = 0)
|
||||||
{
|
{
|
||||||
|
if (!noResponse) PlaySoundSequence("fanClub", "crowd_hai", beat + 4f);
|
||||||
if (noSound) return;
|
if (noSound) return;
|
||||||
PlaySoundSequence("fanClub", "arisa_hai", beat);
|
PlaySoundSequence("fanClub", "arisa_hai", beat);
|
||||||
}
|
}
|
||||||
|
@ -679,10 +685,10 @@ namespace HeavenStudio.Games
|
||||||
}
|
}
|
||||||
|
|
||||||
const float CALL_LENGTH = 2.5f;
|
const float CALL_LENGTH = 2.5f;
|
||||||
public void CallKamone(double beat, bool noSound = false, bool noResponse = false, int type = 0, int responseType = (int) KamoneResponseType.Through, bool alt = false)
|
public void CallKamone(double beat, bool noSound = false, bool noResponse = false, int type = 0, int responseType = (int)KamoneResponseType.Through, bool alt = false)
|
||||||
{
|
{
|
||||||
bool doJump = (responseType == (int) KamoneResponseType.Jump || responseType == (int) KamoneResponseType.JumpFast);
|
bool doJump = (responseType == (int)KamoneResponseType.Jump || responseType == (int)KamoneResponseType.JumpFast);
|
||||||
bool isBig = (responseType == (int) KamoneResponseType.ThroughFast || responseType == (int) KamoneResponseType.JumpFast);
|
bool isBig = (responseType == (int)KamoneResponseType.ThroughFast || responseType == (int)KamoneResponseType.JumpFast);
|
||||||
DisableResponse(beat, 2f);
|
DisableResponse(beat, 2f);
|
||||||
|
|
||||||
responseToggle = true;
|
responseToggle = true;
|
||||||
|
@ -705,7 +711,7 @@ namespace HeavenStudio.Games
|
||||||
new BeatAction.Action(beat + 3.5f, delegate { PlayOneClap(beat + 3.5f); }),
|
new BeatAction.Action(beat + 3.5f, delegate { PlayOneClap(beat + 3.5f); }),
|
||||||
new BeatAction.Action(beat + 4f, delegate { PlayChargeClap(beat + 4f); DoIdolResponse(); Blue.PlayAnimState("Beat"); Orange.PlayAnimState("Beat"); }),
|
new BeatAction.Action(beat + 4f, delegate { PlayChargeClap(beat + 4f); DoIdolResponse(); Blue.PlayAnimState("Beat"); Orange.PlayAnimState("Beat"); }),
|
||||||
new BeatAction.Action(beat + 5f, delegate { PlayJump(beat + 5f);
|
new BeatAction.Action(beat + 5f, delegate { PlayJump(beat + 5f);
|
||||||
if (doJump)
|
if (doJump)
|
||||||
{
|
{
|
||||||
DoIdolJump(beat + 5f);
|
DoIdolJump(beat + 5f);
|
||||||
Blue.DoIdolJump(beat + 5f);
|
Blue.DoIdolJump(beat + 5f);
|
||||||
|
@ -714,26 +720,24 @@ namespace HeavenStudio.Games
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DoIdolResponse();
|
DoIdolResponse();
|
||||||
Blue.PlayAnimState("Beat"); Orange.PlayAnimState("Beat");
|
Blue.PlayAnimState("Beat"); Orange.PlayAnimState("Beat");
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
if (!noResponse) PlaySoundSequence("fanClub", alt ? "crowd_iina" : "crowd_kamone", beat + 2f);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void WarnKamone(double beat, bool noSound = false, int type = 0, int responseType = (int) KamoneResponseType.Through, bool alt = false)
|
public static void WarnKamone(double beat, bool noSound = false, int type = 0, int responseType = (int)KamoneResponseType.Through, bool alt = false)
|
||||||
{
|
{
|
||||||
wantKamone = beat;
|
wantKamone = beat;
|
||||||
wantKamoneType = responseType;
|
wantKamoneType = responseType;
|
||||||
wantKamoneAlt = alt;
|
wantKamoneAlt = alt;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void KamoneSound(double beat, bool noSound = false, int type = 0, int responseType = (int) KamoneResponseType.Through, bool alt = false)
|
public static void KamoneSound(double beat, bool noSound = false, bool noResponse = false, int type = 0, int responseType = (int)KamoneResponseType.Through, bool alt = false)
|
||||||
{
|
{
|
||||||
|
if (!noResponse) PlaySoundSequence("fanClub", alt ? "crowd_iina" : "crowd_kamone", beat + 2f);
|
||||||
if (noSound) return;
|
if (noSound) return;
|
||||||
if (responseType == (int) KamoneResponseType.ThroughFast || responseType == (int) KamoneResponseType.JumpFast)
|
if (responseType == (int)KamoneResponseType.ThroughFast || responseType == (int)KamoneResponseType.JumpFast)
|
||||||
{
|
{
|
||||||
PlaySoundSequence("fanClub", alt ? "arisa_iina_fast" : "arisa_kamone_fast", beat);
|
PlaySoundSequence("fanClub", alt ? "arisa_iina_fast" : "arisa_kamone_fast", beat);
|
||||||
}
|
}
|
||||||
|
@ -743,7 +747,7 @@ namespace HeavenStudio.Games
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ContinueKamone(double beat, int type = 0, int responseType = (int) KamoneResponseType.Through, bool alt = false)
|
public void ContinueKamone(double beat, int type = 0, int responseType = (int)KamoneResponseType.Through, bool alt = false)
|
||||||
{
|
{
|
||||||
CallKamone(beat, true, true, type, responseType, alt);
|
CallKamone(beat, true, true, type, responseType, alt);
|
||||||
}
|
}
|
||||||
|
@ -753,7 +757,7 @@ namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
Prepare(beat + 1.5f);
|
Prepare(beat + 1.5f);
|
||||||
Prepare(beat + 2f);
|
Prepare(beat + 2f);
|
||||||
|
|
||||||
DisableSpecBop(beat, 3.75f);
|
DisableSpecBop(beat, 3.75f);
|
||||||
|
|
||||||
PlayAnimationAll("FanBigReady", onlyOverrideBop: true);
|
PlayAnimationAll("FanBigReady", onlyOverrideBop: true);
|
||||||
|
@ -793,7 +797,7 @@ namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
if (i == 3 && noPlayer)
|
if (i == 3 && noPlayer)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!Spectators[i].GetComponent<Animator>().IsAnimationNotPlaying() && !doForced)
|
if (!Spectators[i].GetComponent<Animator>().IsAnimationNotPlaying() && !doForced)
|
||||||
{
|
{
|
||||||
if (onlyOverrideBop)
|
if (onlyOverrideBop)
|
||||||
|
@ -814,7 +818,7 @@ namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
if (i == 3 && noPlayer)
|
if (i == 3 && noPlayer)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
string clipName = Spectators[i].GetComponent<Animator>().GetCurrentAnimatorClipInfo(0)[0].clip.name;
|
string clipName = Spectators[i].GetComponent<Animator>().GetCurrentAnimatorClipInfo(0)[0].clip.name;
|
||||||
if (!Spectators[i].GetComponent<Animator>().IsAnimationNotPlaying() && !doForced)
|
if (!Spectators[i].GetComponent<Animator>().IsAnimationNotPlaying() && !doForced)
|
||||||
{
|
{
|
||||||
|
@ -838,7 +842,7 @@ namespace HeavenStudio.Games
|
||||||
|
|
||||||
private void PlayOneClap(double beat, int who = -1)
|
private void PlayOneClap(double beat, int who = -1)
|
||||||
{
|
{
|
||||||
if (who != -1)
|
if (who != -1)
|
||||||
{
|
{
|
||||||
if (who == 3)
|
if (who == 3)
|
||||||
{
|
{
|
||||||
|
@ -901,7 +905,7 @@ namespace HeavenStudio.Games
|
||||||
{
|
{
|
||||||
if (i == 3)
|
if (i == 3)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
StartJump(i, beat);
|
StartJump(i, beat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -940,7 +944,7 @@ namespace HeavenStudio.Games
|
||||||
BeatAction.New(this, new List<BeatAction.Action>()
|
BeatAction.New(this, new List<BeatAction.Action>()
|
||||||
{
|
{
|
||||||
new BeatAction.Action(beat, delegate { StartClapLoop(beat, 1);}),
|
new BeatAction.Action(beat, delegate { StartClapLoop(beat, 1);}),
|
||||||
|
|
||||||
new BeatAction.Action(beat + (2f/3f), delegate { StartClapLoop(beat + (2f/3f), 0);}),
|
new BeatAction.Action(beat + (2f/3f), delegate { StartClapLoop(beat + (2f/3f), 0);}),
|
||||||
new BeatAction.Action(beat + (2f/3f), delegate { StartClapLoop(beat + (2f/3f), 3);}),
|
new BeatAction.Action(beat + (2f/3f), delegate { StartClapLoop(beat + (2f/3f), 3);}),
|
||||||
|
|
||||||
|
|
|
@ -91,8 +91,16 @@ namespace HeavenStudio.InputSystem
|
||||||
|
|
||||||
public override void UpdateState()
|
public override void UpdateState()
|
||||||
{
|
{
|
||||||
if (GameManager.instance == null) return;
|
Camera cam;
|
||||||
Camera cam = GameManager.instance.CursorCam;
|
if (GameManager.instance == null || GameManager.instance.CursorCam == null)
|
||||||
|
{
|
||||||
|
cam = Camera.main;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cam = GameManager.instance.CursorCam;
|
||||||
|
}
|
||||||
|
if (cam == null) return;
|
||||||
|
|
||||||
hasFlicked = false;
|
hasFlicked = false;
|
||||||
hasSwiped = false;
|
hasSwiped = false;
|
||||||
|
|
|
@ -142,15 +142,15 @@ namespace HeavenStudio
|
||||||
SoundByte.PlayOneShot("ui/UIEnter");
|
SoundByte.PlayOneShot("ui/UIEnter");
|
||||||
|
|
||||||
var nextController = newController;
|
var nextController = newController;
|
||||||
|
var lastController = PlayerInput.GetInputController(1);
|
||||||
|
|
||||||
if (newController is InputMouse)
|
if ((newController is InputMouse) && (lastController is not InputMouse))
|
||||||
{
|
{
|
||||||
Debug.Log("Mouse used, selecting keyboard instead");
|
Debug.Log("Mouse used, selecting keyboard instead");
|
||||||
nextController = controllers[0];
|
nextController = controllers[0];
|
||||||
}
|
}
|
||||||
Debug.Log("Assigning controller: " + newController.GetDeviceName());
|
Debug.Log("Assigning controller: " + newController.GetDeviceName());
|
||||||
|
|
||||||
var lastController = PlayerInput.GetInputController(1);
|
|
||||||
if (lastController != nextController)
|
if (lastController != nextController)
|
||||||
{
|
{
|
||||||
if (nextController == null)
|
if (nextController == null)
|
||||||
|
|
Loading…
Reference in a new issue