89 lines
2.9 KiB
C#
89 lines
2.9 KiB
C#
using System;
|
|
using Ichni.RhythmGame.Beatmap;
|
|
using UnityEngine;
|
|
|
|
namespace Ichni.RhythmGame
|
|
{
|
|
public class EnableControlEffect : EffectBase
|
|
{
|
|
public GameElement connectedGameElement;
|
|
public string connectedVariableName;
|
|
public int enableValue;
|
|
|
|
public bool useExpression;
|
|
public string expression;
|
|
|
|
public EnableControlEffect(GameElement connectedGameElement, string connectedVariableName,
|
|
int enableValue, bool useExpression, string expression)
|
|
{
|
|
this.effectTime = 0;
|
|
this.connectedGameElement = connectedGameElement;
|
|
this.connectedVariableName = connectedVariableName;
|
|
this.enableValue = enableValue;
|
|
this.useExpression = useExpression;
|
|
this.expression = expression;
|
|
}
|
|
|
|
public override void Recover()
|
|
{
|
|
if (connectedGameElement == null) return;
|
|
|
|
connectedGameElement.gameObject.SetActive(false);
|
|
}
|
|
|
|
public override void Adjust()
|
|
{
|
|
if (connectedGameElement == null) return;
|
|
|
|
if (!useExpression)
|
|
{
|
|
int value = GameManager.instance.variablesContainer.GetVariable(connectedVariableName);
|
|
connectedGameElement.gameObject.SetActive(value == enableValue);
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
}
|
|
|
|
public override EffectBase_BM ConvertToBM()
|
|
{
|
|
connectedGameElement.SaveBM();
|
|
return new EnableControlEffect_BM(connectedGameElement.elementGuid,
|
|
connectedVariableName, enableValue, useExpression, expression);
|
|
}
|
|
}
|
|
|
|
namespace Beatmap
|
|
{
|
|
public class EnableControlEffect_BM : EffectBase_BM
|
|
{
|
|
public Guid connectedGameElementGuid;
|
|
public string connectedVariableName;
|
|
public int enableValue;
|
|
public bool useExpression;
|
|
public string expression;
|
|
|
|
public EnableControlEffect_BM()
|
|
{
|
|
|
|
}
|
|
|
|
public EnableControlEffect_BM(Guid connectedGameElementGuid, string connectedVariableName,
|
|
int enableValue, bool useExpression, string expression)
|
|
{
|
|
this.connectedGameElementGuid = connectedGameElementGuid;
|
|
this.connectedVariableName = connectedVariableName;
|
|
this.enableValue = enableValue;
|
|
this.useExpression = useExpression;
|
|
this.expression = expression;
|
|
}
|
|
|
|
public override EffectBase ConvertToGameType(GameElement attachedGameElement)
|
|
{
|
|
return new EnableControlEffect(GameElement_BM.GetElement(connectedGameElementGuid), connectedVariableName,
|
|
enableValue, useExpression, expression);
|
|
}
|
|
}
|
|
}
|
|
} |