简体   繁体   English

无法分配给“ImpactReceiver”,因为它是“方法组”

[英]Cannot assign to 'ImpactReceiver' because it is a 'method group'

I've been working on a game so far and I've encountered a problem where it says I can't assign something due to it being a method group.到目前为止,我一直在开发一款游戏,我遇到了一个问题,它说我无法分配某些东西,因为它是一个方法组。 It may have something to do that it wasn't in C# format or something.它可能与它不是 C# 格式或其他格式有关。 Thanks in advance提前致谢

Code代码

void OnCollisionEnter(Collision other)
{
    if(other.relativeVelocity.magnitude > 3)
    {
        GameObject _exp = Instantiate(exp, transform.position, transform.rotation);
        Destroy(_exp, 3);
        knockBack();
        Destroy(gameObject);
    }
}

void knockBack(){
    Collider[] colliders = Physics.OverlapSphere(transform.position, radius);

    foreach (Collider nearyby in colliders)
    {
        Rigidbody rigg = nearyby.GetComponent<Rigidbody>();
        if(rigg != null)
        {
            rigg.AddExplosionForce(expForce, transform.position, radius);
        }

    }
}

void ImpactReceiver()
{


    Collider[] colliders = Physics.OverlapSphere(explosionPosition, radius);
    foreach (var hit in colliders)
    {
        if (GetComponent<Rigidbody>())
        {
            GetComponent<Rigidbody>().AddExplosionForce(explosionPower, explosionPosition, radius, 3f);
        }
        else
        {
            var script = ImpactReceiver = hit.transform.GetComponent<ImpactReceiver>();
            if (script)
            {
                var dir = hit.transform.position - explosionPosition;
                var force = Mathf.Clamp(explosionPower / 3, 0, 15);
                script.AddImpact(dir, force);
            }
        }
    }
}

your problem is that you are assigning to 'ImpactReceiver',你的问题是你分配给'ImpactReceiver',

var script = ImpactReceiver = hit.transform.GetComponent<ImpactReceiver>();

it is a method.这是一种方法。

void ImpactReceiver()

You cant do that.你不能那样做。 Sadly its not clear what you are trying to do so its hard to suggest what to do可悲的是,不清楚您要做什么,因此很难建议该做什么

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM