43 lines
860 B
C#
43 lines
860 B
C#
using UnityEngine;
|
|
using System.Collections;
|
|
|
|
[AddComponentMenu("Playground/Actions/On-Off")]
|
|
public class OnOffAction : Action
|
|
{
|
|
public GameObject objectToAffect;
|
|
public bool justMakeInvisible;
|
|
|
|
|
|
// Changes the object state from active to inactive, and viceversa
|
|
public override bool ExecuteAction(GameObject dataObject)
|
|
{
|
|
if(objectToAffect != null)
|
|
{
|
|
if(!justMakeInvisible)
|
|
{
|
|
objectToAffect.SetActive(!objectToAffect.activeSelf);
|
|
}
|
|
else
|
|
{
|
|
//in this case, we just make the object invisible
|
|
SpriteRenderer sr = objectToAffect.GetComponent<SpriteRenderer>();
|
|
if(sr != null)
|
|
{
|
|
sr.enabled = !sr.enabled;
|
|
}
|
|
else
|
|
{
|
|
//the object doesn't have a Sprite Renderer component so the action can't be performed!
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|