zoukankan      html  css  js  c++  java
  • spend tons of time to debug this asshole/ UE4 C++ event dispatch

    within the customer engine ver. 4.19 base, I try to do the array bucket to handle all the overlap collision and somehow to overlapend and begin is inversed, can not figure out why and finaly look at the source code "PrimitiveComponent.h" and figure out why.. because they fckign make the Overlap Delegate in the different shape!! FCK YOU EPIC.

    DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams( FComponentHitSignature, UPrimitiveComponent*, HitComponent, AActor*, OtherActor, UPrimitiveComponent*, OtherComp, FVector, NormalImpulse, const FHitResult&, Hit );
    /** Delegate for notification of start of overlap with a specific component */
    DECLARE_DYNAMIC_MULTICAST_DELEGATE_SixParams( FComponentBeginOverlapSignature, UPrimitiveComponent*, OverlappedComponent, AActor*, OtherActor, UPrimitiveComponent*, OtherComp, int32, OtherBodyIndex, bool, bFromSweep, const FHitResult &, SweepResult);
    /** Delegate for notification of end of overlap with a specific component */
    DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams( FComponentEndOverlapSignature, UPrimitiveComponent*, OverlappedComponent, AActor*, OtherActor, UPrimitiveComponent*, OtherComp, int32, OtherBodyIndex);

    the 3 above are hit, overlapbegin, overlapend. ..but somehow if you use the older one the overlapend still works

    好了不吐槽了,要解决的问题就是个碰撞的dispatch,但是4.19的格式跟之前的不一样,上面贴的是源码里面的,官方的是:

    void ALightSwitchCodeOnly::OnOverlapBegin(UPrimitiveComponent* OverlappedComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult);

    就是位置不一样,但是可以运行,但是碰撞检测不一样...以为见鬼了一开始
  • 相关阅读:
    求n的元素的最大最小值
    输出一个集合的所有子集,从长到短
    树的各种操作java
    几个笔试题目总结
    小知识不断补充
    java、C语言实现数组模拟栈
    LearnHowToThink
    Android中的this、Activity、Context等
    Android已上线应用开源分享中(第二季)
    Android已上线应用开源分享中(第一季)
  • 原文地址:https://www.cnblogs.com/sunchuankai/p/11822983.html
Copyright © 2011-2022 走看看