public VisualEffectPlayableBehaviour(GameObject owner, VisualEffectContext context, VisualEffect prefab, VisualEffectPlayableAsset.StopMode stopMode, VisualEffectPlayableAsset.ParentingMode parentingMode, VisualEffectPlayableAsset.OrientationMethod orientationMethod, Vector3 offset) : this() { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) m_ownerTransform = owner.get_transform(); m_visualEffectContext = context; m_prefab = prefab; m_stopMode = stopMode; m_parentingMode = parentingMode; m_orientationMethod = orientationMethod; m_offset = offset; }
private bool Start() { //IL_0000: Unknown result type (might be due to invalid IL or missing references) //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ad: Unknown result type (might be due to invalid IL or missing references) //IL_00b2: Unknown result type (might be due to invalid IL or missing references) //IL_00bb: Unknown result type (might be due to invalid IL or missing references) //IL_00c1: Unknown result type (might be due to invalid IL or missing references) //IL_00c6: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_0105: Unknown result type (might be due to invalid IL or missing references) //IL_010a: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_0131: Unknown result type (might be due to invalid IL or missing references) //IL_0143: Unknown result type (might be due to invalid IL or missing references) //IL_014b: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0161: Unknown result type (might be due to invalid IL or missing references) Quaternion rotation = Quaternion.get_identity(); Vector3 scale = Vector3.get_one(); Transform val; switch (m_parentingMode) { case VisualEffectPlayableAsset.ParentingMode.Owner: val = m_ownerTransform; break; case VisualEffectPlayableAsset.ParentingMode.Parent: val = m_ownerTransform.get_parent(); break; case VisualEffectPlayableAsset.ParentingMode.ContextOwner: val = ((m_visualEffectContext != null) ? m_visualEffectContext.transform : m_ownerTransform); break; case VisualEffectPlayableAsset.ParentingMode.ContextParent: val = ((m_visualEffectContext != null) ? m_visualEffectContext.transform.get_parent() : m_ownerTransform.get_parent()); break; case VisualEffectPlayableAsset.ParentingMode.World: val = null; break; default: throw new ArgumentOutOfRangeException(); } Vector3 position = (!(null != val)) ? (m_ownerTransform.get_position() + m_offset) : (val.get_position() + m_offset); switch (m_orientationMethod) { case VisualEffectPlayableAsset.OrientationMethod.None: { CameraHandler current = CameraHandler.current; if (null != current) { rotation = current.mapRotation.GetInverseRotation(); } break; } case VisualEffectPlayableAsset.OrientationMethod.Context: if (m_visualEffectContext != null) { m_visualEffectContext.GetVisualEffectTransformation(out rotation, out scale); } break; case VisualEffectPlayableAsset.OrientationMethod.Director: rotation = m_ownerTransform.get_rotation(); break; case VisualEffectPlayableAsset.OrientationMethod.Transform: rotation = ((null != val) ? val.get_rotation() : m_ownerTransform.get_rotation()); break; default: throw new ArgumentOutOfRangeException(); } VisualEffect visualEffect = VisualEffectFactory.Instantiate(m_prefab, position, rotation, scale, val); visualEffect.destructionOverride = OnVisualEffectInstanceDestructionRequest; if (m_visualEffectContext != null) { VisualEffectPlayableAsset.ParentingMode parentingMode = m_parentingMode; if ((uint)(parentingMode - 2) <= 1u) { m_visualEffectContext.AddVisualEffect(visualEffect); } } visualEffect.Play(); m_instance = visualEffect.get_gameObject(); m_visualEffect = visualEffect; return(true); }
private void Stop() { switch (m_stopMode) { case VisualEffectPlayableAsset.StopMode.None: { VisualEffect visualEffect = m_visualEffect; if (!(null != visualEffect)) { break; } if (m_visualEffectContext != null) { VisualEffectPlayableAsset.ParentingMode parentingMode = m_parentingMode; if ((uint)(parentingMode - 2) <= 1u) { m_visualEffectContext.RemoveVisualEffect(visualEffect); } } m_visualEffect = null; break; } case VisualEffectPlayableAsset.StopMode.Stop: { VisualEffect visualEffect2 = m_visualEffect; if (!(null != visualEffect2)) { break; } visualEffect2.Stop(); if (m_visualEffectContext != null) { VisualEffectPlayableAsset.ParentingMode parentingMode = m_parentingMode; if ((uint)(parentingMode - 2) <= 1u) { m_visualEffectContext.RemoveVisualEffect(visualEffect2); } } m_visualEffect = null; break; } case VisualEffectPlayableAsset.StopMode.Destroy: if (!(null != m_instance)) { break; } Object.Destroy(m_instance); if (m_visualEffectContext != null) { VisualEffectPlayableAsset.ParentingMode parentingMode = m_parentingMode; if ((uint)(parentingMode - 2) <= 1u) { m_visualEffectContext.RemoveVisualEffect(m_visualEffect); } } m_visualEffect = null; m_instance = null; break; default: throw new ArgumentOutOfRangeException(); } }