public void DoEvent(GameObject _source, object _events, int _eventIndex, GameObject _receiver = null) { paused = false; source = _source; events = _events; eventInd = _eventIndex; active = true; finished = false; curTarget = sceneObject.GetSceneObject(_source as GameObject, _receiver); if (startType == StartType.OnEventCalled) { StartEvent(); } else if (startType == StartType.OnPreviousFinished && eventInd > 0) { if (waitRoutine != null) { Timing.KillCoroutines(waitRoutine); } waitRoutine = Timing.RunCoroutine(StartWaitForPrevious()); } else if (startType == StartType.OnInputAfterPreviousFinished) { if (inputRoutine != null) { Timing.KillCoroutines(inputRoutine); } inputRoutine = Timing.RunCoroutine(StartWaitForInput()); } }
public override void DoEvent(GameObject _sender = null, GameObject _receiver = null) { sender = _sender; receiver = _receiver; affectedGameObject = affectedType.GetSceneObject(_sender, _receiver); if (affectedGameObject) { AffectObject(); } else { Debug.LogError("No object to effect selected"); } }
static void GetSources(SerializedProperty _property) { sceneObjectSource = sceneObject.GetRootValue <SceneObjectProperty>(); if (sceneObjectSource != null) { var rootSource = _property.serializedObject.targetObject as MonoBehaviour; if (rootSource) { sourceGameObject = sceneObjectSource.GetSceneObject(rootSource.gameObject); } else { sourceGameObject = null; } } }
void Spawn(EngineEvent _event) { var spawn = GameObject.Instantiate(objToSpawn); var pos = position; var rot = rotation; if (positionType == PositionType.SceneObject) { var obj = positionObj.GetSceneObject(_event.Source, objToUse); pos = objToUse.transform.position; rot = objToUse.transform.rotation.eulerAngles; } spawn.transform.position = pos; spawn.transform.rotation = Quaternion.Euler(rot); if (setParent) { var par = parentObj.GetSceneObject(); spawn.transform.SetParent(par.transform); } }
protected override void AffectObject() { if (maskInd == (maskInd | (1 << (int)TransformSettings.Position))) { if (setPositionTo == SetToType.Vector3) { affectedGameObject.transform.position = positionVector; } else if (setPositionTo == SetToType.SceneObject) { var go = positionObj.GetSceneObject(sender, receiver); affectedGameObject.transform.position = go.transform.position; } } if (maskInd == (maskInd | (1 << (int)TransformSettings.Rotation))) { if (setRotationTo == SetToType.Vector3) { affectedGameObject.transform.rotation = Quaternion.Euler(rotationVector); } else if (setRotationTo == SetToType.SceneObject) { var go = rotationObj.GetSceneObject(sender, receiver); affectedGameObject.transform.rotation = go.transform.rotation; } } if (maskInd == (maskInd | (1 << (int)TransformSettings.Scale))) { if (setScaleTo == SetToType.Vector3) { affectedGameObject.transform.position = scaleVector; } else if (setScaleTo == SetToType.SceneObject) { var go = scaleObj.GetSceneObject(sender, receiver); affectedGameObject.transform.localScale = go.transform.localScale; } } }