示例#1
0
    public void ProcessEnemyPartImpact(EnemyPartType dmgType, Transform placement)
    {
        Vector3 position  = placement.position;
        Vector3 direction = (placement.position - placement.parent.position).normalized;

        position = position + direction * enemyPartImpactOffset;
        Quaternion rot    = Quaternion.FromToRotation(Vector3.forward, direction);
        GameObject effect = null;

        //部位破壞,特效
        if (dmgType == EnemyPartType.Head)
        {
            if (headBloodEffect)
            {
                effect = Instantiate(headBloodEffect, position, rot);
            }
        }
        else
        {
            if (defaultBloodEffect)
            {
                effect = Instantiate(defaultBloodEffect, position, rot);
            }
        }
        if (effect)
        {
            // attach the effect to the mesh
            effect.transform.parent = placement;

            Destroy(effect, enemyPartImpactLifetime);
        }
    }
示例#2
0
 public void OnLimbDie(EnemyPartType dmgType, Transform placement)
 {
     ////部位破壞,特效
     _ImpactProcessor.ProcessEnemyPartImpact(dmgType, placement);
 }