void Bullet::Attack() { TGameObjectList objectList; if (GameObjectManager::IsSingletonCreated()) GameObjectManager::Singleton().GetGameObjectList(eGOT_MainCharacter, objectList); for (TGameObjectList::iterator iter = objectList.begin(); iter != objectList.end(); ++iter) { float maxCollisionDis = (*iter)->GetCollisionRadius() + GetCollisionRadius(); float distanceSQ = ccpDistanceSQ((*iter)->getPosition(), getPosition()); if (distanceSQ < maxCollisionDis * maxCollisionDis) { MainPlayerLogic::Singleton().ReduceHp(1); GetFsm().SwitchState(STATE(ArrivedBottomSafe)); } } }
float FProceduralFoliageInstance::GetMaxRadius() const { const float CollisionRadius = GetCollisionRadius(); const float ShadeRadius = GetShadeRadius(); return FMath::Max(CollisionRadius, ShadeRadius); }