您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
43 行
1.1 KiB
43 行
1.1 KiB
using NaughtyAttributes;
|
|
using System.Linq;
|
|
using UnityEngine;
|
|
using UnityEngine.Serialization;
|
|
|
|
namespace GameplayIngredients.Logic
|
|
{
|
|
[AddComponentMenu(ComponentMenu.logicPath + "Platform Logic")]
|
|
[Callable("Application", "Logic/ic-generic-logic.png")]
|
|
public class PlatformLogic : LogicBase
|
|
{
|
|
public enum InclusionMode
|
|
{
|
|
IsTarget,
|
|
IsNotTarget
|
|
}
|
|
|
|
[ReorderableList]
|
|
public RuntimePlatform[] platforms;
|
|
|
|
public InclusionMode inclusionMode = InclusionMode.IsTarget;
|
|
|
|
[FormerlySerializedAs("Calls")]
|
|
public Callable[] OnTestValid;
|
|
public Callable[] OnTestInvalid;
|
|
|
|
|
|
public override void Execute(GameObject instigator = null)
|
|
{
|
|
|
|
if(platforms.Contains(Application.platform) == (inclusionMode == InclusionMode.IsTarget))
|
|
Call(OnTestValid, instigator);
|
|
else
|
|
Call(OnTestInvalid, instigator);
|
|
}
|
|
|
|
public override string GetDefaultName()
|
|
{
|
|
return $"If Platform {inclusionMode} : {string.Join(", ",platforms)}";
|
|
}
|
|
}
|
|
}
|
|
|