- Mesaj
- 218
- Beğeni
- 94
- Puan
- 446
- Ticaret Puanı
- 0
actorinstance.cpp
.hyede şunları
bool m_bAtkSpdLocked();
bool m_bMovSpdLocked();
ekleyin
oldu mu bilmiyorum deniyimleyemedim
.hyede şunları
bool m_bAtkSpdLocked();
bool m_bMovSpdLocked();
ekleyin
oldu mu bilmiyorum deniyimleyemedim
Kod:
// Max speed values (sınırlamalar)
const float MAX_ATTACK_SPEED = 2.0f; // Örnek max attack speed
const float MAX_MOVE_SPEED = 2.0f; // Örnek max move speed
// Yeni eklenen bayraklar
bool m_bAtkSpdLocked = false; // Attack speed'in kilitli olup olmadığını kontrol eder
bool m_bMovSpdLocked = false; // Move speed'in kilitli olup olmadığını kontrol eder
// Güncellenmiş SetAttackSpeed
void CActorInstance::SetAttackSpeed(float fAtkSpd)
{
// Eğer hız zaten kilitlenmişse, fonksiyonu sonlandır
if (m_bAtkSpdLocked)
return;
// Hızı max değere kısıtla
if (fAtkSpd > MAX_ATTACK_SPEED)
{
fAtkSpd = MAX_ATTACK_SPEED;
}
// Hız değiştirildiğinde, kilitleme bayrağını aktif et
m_fAtkSpd = fAtkSpd;
m_bAtkSpdLocked = true; // Kilitleme işlemi
}
// Güncellenmiş SetMoveSpeed
void CActorInstance::SetMoveSpeed(float fMovSpd)
{
// Eğer hız zaten kilitlenmişse, fonksiyonu sonlandır
if (m_bMovSpdLocked)
return;
// Eğer yeni hız mevcut hızla aynıysa, değişiklik yapılmasın
if (m_fMovSpd == fMovSpd)
return;
// Hızı max değere kısıtla
if (fMovSpd > MAX_MOVE_SPEED)
{
fMovSpd = MAX_MOVE_SPEED;
}
// Hız değiştirildiğinde, kilitleme bayrağını aktif et
m_fMovSpd = fMovSpd;
m_bMovSpdLocked = true; // Kilitleme işlemi
// Hareket halindeyse, hareket animasyonlarını tekrar başlat
if (__IsMoveMotion())
{
Stop();
Move();
}
}