Skip to content

Instantly share code, notes, and snippets.

@srndpty
Created June 22, 2016 07:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save srndpty/90d2c50c1dc5291c130186fa452c936b to your computer and use it in GitHub Desktop.
Save srndpty/90d2c50c1dc5291c130186fa452c936b to your computer and use it in GitHub Desktop.
レイヤーを指定して消去する拡張コマンド
/// <summary>
/// レイヤーを指定して消去するコマンド
/// </summary>
public class AdvCommandLayerOff : AdvCommand
{
string layerName;
float fadeTime;
float waitEndTime;
public AdvCommandLayerOff(StringGridRow row)
: base(row)
{
this.layerName = ParseCellOptional<string>(AdvColumnName.Arg1, "");
//フェード時間
this.fadeTime = ParseCellOptional<float>(AdvColumnName.Arg6, 0.2f);
}
//コマンド実行
public override void DoCommand(AdvEngine engine)
{
if (string.IsNullOrEmpty(layerName))
{
engine.GraphicManager.CharacterManager.FadeOutAll(fadeTime);
}
else
{
engine.GraphicManager.CharacterManager.FadeOutLayer(layerName, fadeTime);
}
this.waitEndTime = Time.time + fadeTime;
}
public override bool Wait(AdvEngine engine)
{
return (Time.time < waitEndTime);
}
}
////////////////////////////////////////////////////////////////////
//AdvGraphicGroup.cs の100行目付近に追加
//指定名のレイヤーを非表示(フェードアウト)する
internal virtual void FadeOutLayer(string name, float fadeTime)
{
AdvGraphicLayer layer = FindLayer(name);
if (layer != null) layer.FadeOut(GameObject.Find(name).transform.GetChild(0).gameObject.name, fadeTime);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment