private void SceneNode_TransformChanged(object sender, TransformArgs e) { //only do this when the change came from an external source if (isCaptured) { return; } UpdateMatrixFromTarget(); }
private void OnTransformChanged(object sender, TransformArgs e) { var oldBound = BoundsWithTransform; BoundsWithTransform = Bounds.Transform(e); RaiseOnTransformBoundChanged(BoundsWithTransform, oldBound); var oldSphere = BoundsSphereWithTransform; BoundsSphereWithTransform = BoundsSphere.TransformBoundingSphere(e); RaiseOnTransformBoundSphereChanged(BoundsSphereWithTransform, oldSphere); }
private void SceneNode_OnTransformChanged(object sender, TransformArgs e) { var m = e.Transform; m.Decompose(out Vector3 scale, out Quaternion rotation, out Vector3 translation); scaleMatrix = Matrix.Scaling(scale); rotationMatrix = Matrix.RotationQuaternion(rotation); translationVector = translation; OnUpdateSelfTransform(); //OnUpdateTargetMatrix(); }
/// <summary> /// Обработчик события убийства врага, принимает на вход Transform /// Это обходное решение проблемы, что при убийстве врага, не срабатывает OnCollisionEnter и урон продолжает наноситься /// </summary> /// <param name="args">Аргумент события</param> private void EnemyTransformHandler(TransformArgs args) { var enemy = args.TransformArg.gameObject.GetComponent <EnemyCore>(); Coroutine cor; _takenDamageFrom.TryGetValue(enemy, out cor); if (cor != null) { StopCoroutine(cor); _takenDamageFrom.Remove(enemy); } }
private void SceneNode_OnTransformChanged(object sender, TransformArgs e) { var m = e.Transform; m.Decompose(out Vector3 scale, out Quaternion rotation, out Vector3 translation); scaleMatrix = Matrix.Scaling(scale); rotationMatrix = Matrix.RotationQuaternion(rotation); if (centerOffset != Vector3.Zero) { var org = Matrix.Translation(-centerOffset) * scaleMatrix * rotationMatrix * Matrix.Translation(centerOffset); translationVector = translation - org.TranslationVector; } else { translationVector = m.TranslationVector; } OnUpdateSelfTransform(); //OnUpdateTargetMatrix(); }
/// <summary> /// Обработчик события создания игрока, в качестве аргумента получает его Transform /// </summary> private void PlayerSpawnedHandler(TransformArgs args) { _target = args.TransformArg; }
private void OnTransformChanged(object sender, TransformArgs e) { BoundsWithTransform = Bounds.Transform(e); BoundsSphereWithTransform = BoundsSphere.TransformBoundingSphere(e); }
private void BatchedMeshNode_OnTransformChanged(object sender, TransformArgs e) { UpdateBoundsWithTransform(); }
/// <summary> /// Обработчик события создания игрока, в качестве аргумента получаего его Transform /// </summary> /// <param name="args"></param> private void PlayerTransformHandler(TransformArgs args) { _tankTransform = args.TransformArg; }