2
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
2.6 KiB
C#

using Articy.Touhou.Features;
using Articy.Unity;
using UnityEngine.Serialization;
namespace Game
{
public enum EDoorType
{
LT,
Lm,
Ld,
RT,
Rm,
Rd,
TL,
TM,
TR,
DL,
Dm,
Dr,
}
public class LevelNodeDoor : LevelNode
{
[FormerlySerializedAs("m_DoorType")] public EDoorType mDoorType;
private string _mTargetLevelId;
public void SetTargetLevel(LevelFeature levelFeature)
{
switch (mDoorType)
{
case EDoorType.LT:
_mTargetLevelId = GetName(levelFeature.LevelLink_LT);
break;
case EDoorType.Lm:
_mTargetLevelId = GetName(levelFeature.LevelLink_LM);
break;
case EDoorType.Ld:
_mTargetLevelId = GetName(levelFeature.LevelLink_LD);
break;
case EDoorType.RT:
_mTargetLevelId = GetName(levelFeature.LevelLink_RT);
break;
case EDoorType.Rm:
_mTargetLevelId = GetName(levelFeature.LevelLink_RM);
break;
case EDoorType.Rd:
_mTargetLevelId = GetName(levelFeature.LevelLink_RD);
break;
case EDoorType.TL:
_mTargetLevelId = GetName(levelFeature.LevelLink_TL);
break;
case EDoorType.TM:
_mTargetLevelId = GetName(levelFeature.LevelLink_TM);
break;
case EDoorType.TR:
_mTargetLevelId = GetName(levelFeature.LevelLink_TR);
break;
case EDoorType.DL:
_mTargetLevelId = GetName(levelFeature.LevelLink_DL);
break;
case EDoorType.Dm:
_mTargetLevelId = GetName(levelFeature.LevelLink_DM);
break;
case EDoorType.Dr:
_mTargetLevelId = GetName(levelFeature.LevelLink_DR);
break;
}
SetTargetId(_mTargetLevelId);
}
public bool IsFromPreLevel(string preLevelId)
{
return _mTargetLevelId == preLevelId;
}
private string GetName(ArticyObject obj)
{
if (obj == null)
{
return "";
}
return obj.TechnicalName;
}
}
}