Cleaned up animations a bit further, changed 'fusuma' to 'shoji'
This commit is contained in:
parent
afc14b9966
commit
c9de6f31c0
|
@ -644,7 +644,7 @@ MonoBehaviour:
|
||||||
scrollingHolder: {fileID: 5348239490659111460}
|
scrollingHolder: {fileID: 5348239490659111460}
|
||||||
nailHolder: {fileID: 7148765670405675429}
|
nailHolder: {fileID: 7148765670405675429}
|
||||||
boardTrans: {fileID: 3085823780726025195}
|
boardTrans: {fileID: 3085823780726025195}
|
||||||
fusumaTrans: {fileID: 1196000419050048408}
|
shojiTrans: {fileID: 1196000419050048408}
|
||||||
--- !u!1 &1716111394362355661
|
--- !u!1 &1716111394362355661
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
@ -21,8 +21,6 @@ AnimationClip:
|
||||||
- curve:
|
- curve:
|
||||||
- time: 0
|
- time: 0
|
||||||
value: {fileID: -1220576532, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
|
value: {fileID: -1220576532, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
|
||||||
- time: 0.41666666
|
|
||||||
value: {fileID: -1543273638, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
|
|
||||||
attribute: m_Sprite
|
attribute: m_Sprite
|
||||||
path: Arm
|
path: Arm
|
||||||
classID: 212
|
classID: 212
|
||||||
|
@ -43,13 +41,12 @@ AnimationClip:
|
||||||
isPPtrCurve: 1
|
isPPtrCurve: 1
|
||||||
pptrCurveMapping:
|
pptrCurveMapping:
|
||||||
- {fileID: -1220576532, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
|
- {fileID: -1220576532, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
|
||||||
- {fileID: -1543273638, guid: 99d6a57b351ee2046b9af317c31f4a05, type: 3}
|
|
||||||
m_AnimationClipSettings:
|
m_AnimationClipSettings:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_AdditiveReferencePoseClip: {fileID: 0}
|
m_AdditiveReferencePoseClip: {fileID: 0}
|
||||||
m_AdditiveReferencePoseTime: 0
|
m_AdditiveReferencePoseTime: 0
|
||||||
m_StartTime: 0
|
m_StartTime: 0
|
||||||
m_StopTime: 0.43333334
|
m_StopTime: 0.016666668
|
||||||
m_OrientationOffsetY: 0
|
m_OrientationOffsetY: 0
|
||||||
m_Level: 0
|
m_Level: 0
|
||||||
m_CycleOffset: 0
|
m_CycleOffset: 0
|
||||||
|
|
|
@ -21,8 +21,8 @@ AnimationClip:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: {x: 0.1, y: 3.2, z: 0}
|
value: {x: 0.1, y: 3.2, z: 0}
|
||||||
inSlope: {x: 0, y: 0, z: 0}
|
inSlope: {x: Infinity, y: Infinity, z: 0}
|
||||||
outSlope: {x: 0, y: 0, z: 0}
|
outSlope: {x: Infinity, y: Infinity, z: 0}
|
||||||
tangentMode: 0
|
tangentMode: 0
|
||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
|
||||||
|
@ -180,9 +180,9 @@ AnimationClip:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: 0.1
|
value: 0.1
|
||||||
inSlope: 0
|
inSlope: Infinity
|
||||||
outSlope: 0
|
outSlope: Infinity
|
||||||
tangentMode: 136
|
tangentMode: 103
|
||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
|
@ -244,9 +244,9 @@ AnimationClip:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
time: 0
|
time: 0
|
||||||
value: 3.2
|
value: 3.2
|
||||||
inSlope: 0
|
inSlope: Infinity
|
||||||
outSlope: 0
|
outSlope: Infinity
|
||||||
tangentMode: 136
|
tangentMode: 103
|
||||||
weightedMode: 0
|
weightedMode: 0
|
||||||
inWeight: 0.33333334
|
inWeight: 0.33333334
|
||||||
outWeight: 0.33333334
|
outWeight: 0.33333334
|
||||||
|
|
|
@ -26,7 +26,7 @@ namespace HeavenStudio.Games.Scripts_NailCarpenter
|
||||||
|
|
||||||
private void HammmerJust(PlayerActionEvent caller, float state)
|
private void HammmerJust(PlayerActionEvent caller, float state)
|
||||||
{
|
{
|
||||||
game.Carpenter.DoScaledAnimationAsync("carpenterHit", 1f);
|
game.Carpenter.DoScaledAnimationAsync("carpenterHit", 0.25f);
|
||||||
if (state >= 1f || state <= -1f)
|
if (state >= 1f || state <= -1f)
|
||||||
{
|
{
|
||||||
nailAnim.DoScaledAnimationAsync(
|
nailAnim.DoScaledAnimationAsync(
|
||||||
|
|
|
@ -38,21 +38,22 @@ namespace HeavenStudio.Games.Loaders
|
||||||
defaultLength = 4f,
|
defaultLength = 4f,
|
||||||
resizable = true
|
resizable = true
|
||||||
},
|
},
|
||||||
new GameAction("slideFusuma", "Slide Fusuma")
|
new GameAction("slideShoji", "Slide Shoji")
|
||||||
{
|
{
|
||||||
function = delegate {
|
function = delegate {
|
||||||
var e = eventCaller.currentEntity;
|
var e = eventCaller.currentEntity;
|
||||||
NailCarpenter.instance.SlideFusuma(e.beat, e.length, e["fillRatio"], e["ease"], e["mute"]);
|
NailCarpenter.instance.SlideShoji(e.beat, e.length, e["fillRatio"], e["ease"], e["mute"]);
|
||||||
},
|
},
|
||||||
defaultLength = 1f,
|
defaultLength = 1f,
|
||||||
resizable = true,
|
resizable = true,
|
||||||
parameters = new List<Param>()
|
parameters = new List<Param>()
|
||||||
{
|
{
|
||||||
new Param("fillRatio", new EntityTypes.Float(0f, 1f, 0.3f), "Ratio", "Set the ratio of closing the fusuma."),
|
new Param("fillRatio", new EntityTypes.Float(0f, 1f, 0.3f), "Ratio", "Set how much of the screen the shoji covers."),
|
||||||
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("mute", false, "Mute", "Toggle if the cue should be muted.")
|
new Param("mute", false, "Mute", "Toggle if the cue should be muted.")
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
new List<string>() { "pco", "normal" },
|
new List<string>() { "pco", "normal" },
|
||||||
"pconail", "en",
|
"pconail", "en",
|
||||||
|
@ -79,7 +80,7 @@ namespace HeavenStudio.Games
|
||||||
public Transform scrollingHolder;
|
public Transform scrollingHolder;
|
||||||
public Transform nailHolder;
|
public Transform nailHolder;
|
||||||
public Transform boardTrans;
|
public Transform boardTrans;
|
||||||
public Transform fusumaTrans;
|
public Transform shojiTrans;
|
||||||
const float nailDistance = -4f;
|
const float nailDistance = -4f;
|
||||||
const float boardWidth = 19.2f;
|
const float boardWidth = 19.2f;
|
||||||
float scrollRate => nailDistance / (Conductor.instance.pitchedSecPerBeat * 2f);
|
float scrollRate => nailDistance / (Conductor.instance.pitchedSecPerBeat * 2f);
|
||||||
|
@ -136,6 +137,7 @@ namespace HeavenStudio.Games
|
||||||
Util.EasingFunction.Ease slideEase;
|
Util.EasingFunction.Ease slideEase;
|
||||||
float slideRatioLast = 0, slideRatioNext = 0;
|
float slideRatioLast = 0, slideRatioNext = 0;
|
||||||
|
|
||||||
|
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
var cond = Conductor.instance;
|
var cond = Conductor.instance;
|
||||||
|
@ -171,7 +173,7 @@ namespace HeavenStudio.Games
|
||||||
newBoardX %= boardWidth;
|
newBoardX %= boardWidth;
|
||||||
boardTrans.localPosition = new Vector3(newBoardX, boardPos.y, boardPos.z);
|
boardTrans.localPosition = new Vector3(newBoardX, boardPos.y, boardPos.z);
|
||||||
|
|
||||||
UpdateFusuma(currentBeat);
|
UpdateShoji(currentBeat);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void OnGameSwitch(double beat)
|
public override void OnGameSwitch(double beat)
|
||||||
|
@ -317,7 +319,7 @@ namespace HeavenStudio.Games
|
||||||
OnGameSwitch(beat);
|
OnGameSwitch(beat);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SlideFusuma(double beat, double length, float fillRatio, int ease, bool mute)
|
public void SlideShoji(double beat, double length, float fillRatio, int ease, bool mute)
|
||||||
{
|
{
|
||||||
if (!mute) MultiSound.Play(new MultiSound.Sound[]{ new MultiSound.Sound("nailCarpenter/open", beat)});
|
if (!mute) MultiSound.Play(new MultiSound.Sound[]{ new MultiSound.Sound("nailCarpenter/open", beat)});
|
||||||
slideBeat = beat;
|
slideBeat = beat;
|
||||||
|
@ -326,7 +328,7 @@ namespace HeavenStudio.Games
|
||||||
slideRatioLast = slideRatioNext;
|
slideRatioLast = slideRatioNext;
|
||||||
slideRatioNext = fillRatio;
|
slideRatioNext = fillRatio;
|
||||||
}
|
}
|
||||||
void UpdateFusuma(double beat)
|
void UpdateShoji(double beat)
|
||||||
{
|
{
|
||||||
if (beat >= slideBeat)
|
if (beat >= slideBeat)
|
||||||
{
|
{
|
||||||
|
@ -336,7 +338,7 @@ namespace HeavenStudio.Games
|
||||||
float slideProg = Conductor.instance.GetPositionFromBeat(slideBeat, slideLength, true);
|
float slideProg = Conductor.instance.GetPositionFromBeat(slideBeat, slideLength, true);
|
||||||
slideProg = Mathf.Clamp01(slideProg);
|
slideProg = Mathf.Clamp01(slideProg);
|
||||||
float slide = func(slideLast, slideNext, slideProg);
|
float slide = func(slideLast, slideNext, slideProg);
|
||||||
fusumaTrans.localPosition = new Vector3(slide, 0, 0);
|
shojiTrans.localPosition = new Vector3(slide, 0, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -387,6 +389,7 @@ namespace HeavenStudio.Games
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// MultiSound.Play may not work in OnPlay (OnGameSwitch?), so I play the audio using an alternative method.
|
// MultiSound.Play may not work in OnPlay (OnGameSwitch?), so I play the audio using an alternative method.
|
||||||
List<MultiSound.Sound> sounds = new List<MultiSound.Sound>(){};
|
List<MultiSound.Sound> sounds = new List<MultiSound.Sound>(){};
|
||||||
bool isPlayed = false;
|
bool isPlayed = false;
|
||||||
|
|
Loading…
Reference in a new issue