您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
55 行
1.9 KiB
55 行
1.9 KiB
using NaughtyAttributes;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace GameplayIngredients.Actions
|
|
{
|
|
[HelpURL(Help.URL + "globals")]
|
|
public class SetGlobalAction : ActionBase
|
|
{
|
|
public Globals.Scope scope = Globals.Scope.Global;
|
|
public Globals.Type type = Globals.Type.Boolean;
|
|
public string Variable = "SomeVariable";
|
|
|
|
[ShowIf("isBool")]
|
|
public bool boolValue = true;
|
|
[ShowIf("isInt")]
|
|
public int intValue = 1;
|
|
[ShowIf("isString")]
|
|
public string stringValue = "Value";
|
|
[ShowIf("isFloat")]
|
|
public float floatValue = 1.0f;
|
|
[ShowIf("isGameObject")]
|
|
public GameObject gameObjectValue;
|
|
|
|
bool isBool() { return type == Globals.Type.Boolean; }
|
|
bool isInt() { return type == Globals.Type.Integer; }
|
|
bool isFloat() { return type == Globals.Type.Float; }
|
|
bool isString() { return type == Globals.Type.String; }
|
|
bool isGameObject() { return type == Globals.Type.GameObject; }
|
|
|
|
public override void Execute(GameObject instigator = null)
|
|
{
|
|
switch (type)
|
|
{
|
|
default:
|
|
case Globals.Type.Boolean:
|
|
Globals.SetBool(Variable, boolValue, scope);
|
|
break;
|
|
case Globals.Type.Integer:
|
|
Globals.SetInt(Variable, intValue, scope);
|
|
break;
|
|
case Globals.Type.String:
|
|
Globals.SetString(Variable, stringValue, scope);
|
|
break;
|
|
case Globals.Type.Float:
|
|
Globals.SetFloat(Variable, floatValue, scope);
|
|
break;
|
|
case Globals.Type.GameObject:
|
|
Globals.SetObject(Variable, gameObjectValue, scope);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|