2using System.Collections;
3using System.Collections.Generic;
5using System.Runtime.Serialization;
7using JetBrains.Annotations;
8using NaughtyAttributes;
25 private bool triggerDone;
26 internal bool showVisuals;
27 internal bool triggerOnce =
true;
28 internal bool bFollowGo;
33 private GameObject canvasSelector;
34 private GameObject canvasHierarchy;
35 private GameObject canvas;
37 private GameObject hoverShow;
52 if (base.isInFieldOfView(
triggerGo)) base.actionRecognized =
true;
93 var hsref = hoverShow;
96 hoverShow = Instantiate(
triggerPrefab, GameObject.Find(
"SpawnPoint").transform);
100 hoverShow.transform.SetParent(
followGo.transform,
true);
103 hoverShow.transform.localPosition = Vector3.zero;
123 void OnRemovedFromSelection(IEnumerable<GameObject> selection)
128 foreach (var o
in selection)
132 GameObject.Find(
"Btn_StageMgr").GetComponent<
Button>().onClick.Invoke();
153 triggerGo.transform.localPosition = Vector3.zero;
154 triggerGo.transform.localEulerAngles = Vector3.zero;
164 if (!showVisuals)
triggerGo.GetComponent<MeshRenderer>().enabled =
false;
167 StartCoroutine(ShowPreview(
triggerGo.transform.position));
178 canvasSelector.GetComponent<Canvas>().enabled =
false;
179 GetComponentInParent<Canvas>().enabled =
true;
180 canvasSelector.transform.GetChild(0).GetComponent<
Button>().onClick.RemoveListener(
SetSelectedGO);
187 canvasHierarchy.transform.SetParent(canvas.transform,
false);
190 triggerGo.GetComponent<MeshRenderer>().enabled =
true;
197 triggerGo.transform.localPosition = Vector3.zero;
205 canvasSelector.GetComponent<Canvas>().enabled =
false;
206 GetComponentInParent<Canvas>().enabled =
true;
207 canvasSelector.transform.GetChild(0).GetComponent<
Button>().onClick.RemoveListener(
SetSelectedGO);
214 canvasHierarchy.transform.SetParent(canvas.transform,
false);
228 GetComponentInParent<Canvas>().enabled =
false;
229 canvasSelector.transform.GetChild(0).GetComponent<
Button>().onClick.AddListener(
SetSelectedGO);
231 canvasSelector.GetComponent<Canvas>().enabled =
true;
235 canvas = GameObject.Find(
"Canvas");
238 Debug.LogError(
"canvas not found!");
242 canvasHierarchy = GameObject.Find(
"Hierarchy");
243 if (canvasHierarchy ==
null)
245 Debug.LogError(
"Hierarchy not found!");
249 canvasHierarchy.transform.SetParent(canvasSelector.transform,
false);
254 Debug.Log(
"Trigger deactivated!");
304 GameObject.Find(
"Btn_StageMgr").GetComponent<
Button>().onClick.Invoke();
312 triggerGo.GetComponent<MeshRenderer>().enabled =
true;
333 return inIDs.Keys.ToList()[0];
354 yield
return new WaitForEndOfFrame();
360 public new void GetObjectData(SerializationInfo info, StreamingContext context)
362 base.GetObjectData(info, context);
364 var convertOldSave =
false;
367 triggerGo.transform.localPosition -
new Vector3(0.4815754f, -0.324203f, -0.0164394f);
368 info.AddValue(
"triggerPosition",
triggerGo.transform.localPosition, typeof(Vector3));
369 info.AddValue(
"triggerRotation",
triggerGo.transform.localEulerAngles, typeof(Vector3));
370 info.AddValue(
"triggerScale",
triggerGo.transform.localScale, typeof(Vector3));
371 info.AddValue(
"showVisuals", showVisuals, typeof(
bool));
372 info.AddValue(
"triggerOnce", triggerOnce, typeof(
bool));
373 info.AddValue(
"bFollowGo", bFollowGo, typeof(
bool));
374 info.AddValue(
"followGo",
GetGameObject(), typeof(GameObject));
387 info.AddValue(
"selectedGOHash",
selectedHash, typeof(
string));
396 public TriggerAction(SerializationInfo info, StreamingContext context) : base(info, context)
398 triggerPosition = (Vector3) info.GetValue(
"triggerPosition", typeof(Vector3));
399 triggerRotation = (Vector3) info.GetValue(
"triggerRotation", typeof(Vector3));
400 triggerScale = (Vector3) info.GetValue(
"triggerScale", typeof(Vector3));
403 showVisuals = info.GetBoolean(
"showVisuals");
404 triggerOnce = info.GetBoolean(
"triggerOnce");
405 bFollowGo = info.GetBoolean(
"bFollowGo");
408 followGo = (GameObject)info.GetValue(
"followGo", typeof(GameObject));
410 foreach (var e
in info)
411 if (e.Name ==
"selectedGOHash")
422 private IEnumerator ShowPreview(Vector3 TargetPosition)
425 yield
return new WaitForEndOfFrame();
UnityEngine.UI.Button Button
void TriggerOutput(string id)
List< GameObject > outPuts
void StartFollowing(Vector3 EndPosition, GameObject TargetObject)
static void AddOnRemovedFromSelectionListener(Callback< IEnumerable< GameObject > > del)
static void SetSelection(IEnumerable< GameObject > selection)
static GameObject activeGameObject
static SoundManager instance
GameObject GetGameObject()
void SetTriggerTransformNow()
GameObject GetTriggerGO()
TriggerAction(SerializationInfo info, StreamingContext context)
new void GetObjectData(SerializationInfo info, StreamingContext context)
override void OnPointerEnter(PointerEventData eventData)
void OnValueChangedOnce(bool value)
override void OnPointerExit(PointerEventData eventData)
IEnumerator SetGameObjectJob(string hash)
string canvasSelectorName
void OnValueChangedFollow(bool value)
override void Deactivate()
void OnValueChanged(bool value)
void OverrideTriggerObject(GameObject o)
override void Triggered(string id)