public void Hit(int damageTaken, Vector2 hitPoint, LookingDirection hitDirection) { hitCount += 1; // play vfx VFXSpriteAnimation vfx = Instantiate(hitSpriteVFXPrefab, hitPoint, Quaternion.identity); SpriteDirection dir = vfx.GetComponent <SpriteDirection>(); if (dir != null) { dir.FaceDirection(SpriteDirection.OtherDirectionY(hitDirection)); } if (!magicianSummoned && hitCount >= hitsToSummonMagician) { magicianSummoned = true; SummonMagician(); } }
protected virtual void PlayHitAnimation(VFXSpriteAnimation hitAnimation, Vector2 hitPoint, Vector3 enemyPosition) { // Instantiate kill effect if (hitAnimation != null) { switch (hitAnimation.instantiationPoint) { case VFXSpriteAnimation.InstantiationPoint.WeaponHit: Instantiate(hitAnimation, hitPoint, Quaternion.identity); break; case VFXSpriteAnimation.InstantiationPoint.EnemyTransform: Instantiate(hitAnimation, enemyPosition, Quaternion.identity); break; default: break; } } }