Renamed Farmer functions and added doxycomments
This commit is contained in:
parent
b2bacf3a25
commit
8ca98e0c0e
@ -41,6 +41,7 @@ void cVillager::DoTakeDamage(TakeDamageInfo & a_TDI)
|
|||||||
void cVillager::Tick(float a_Dt, cChunk & a_Chunk)
|
void cVillager::Tick(float a_Dt, cChunk & a_Chunk)
|
||||||
{
|
{
|
||||||
super::Tick(a_Dt, a_Chunk);
|
super::Tick(a_Dt, a_Chunk);
|
||||||
|
|
||||||
if (m_ActionCountDown > -1)
|
if (m_ActionCountDown > -1)
|
||||||
{
|
{
|
||||||
m_ActionCountDown--;
|
m_ActionCountDown--;
|
||||||
@ -50,7 +51,7 @@ void cVillager::Tick(float a_Dt, cChunk & a_Chunk)
|
|||||||
{
|
{
|
||||||
case vtFarmer:
|
case vtFarmer:
|
||||||
{
|
{
|
||||||
HandleFarmerEndCountDown();
|
HandleFarmerPlaceCrops();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,15 +64,10 @@ void cVillager::Tick(float a_Dt, cChunk & a_Chunk)
|
|||||||
{
|
{
|
||||||
case vtFarmer:
|
case vtFarmer:
|
||||||
{
|
{
|
||||||
HandleFarmerAction();
|
HandleFarmerTryHarvestCrops();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
m_VillagerAction = false;
|
m_VillagerAction = false;
|
||||||
}
|
|
||||||
|
|
||||||
// The villager already has an special action activated.
|
|
||||||
if (m_VillagerAction)
|
|
||||||
{
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,7 +81,7 @@ void cVillager::Tick(float a_Dt, cChunk & a_Chunk)
|
|||||||
{
|
{
|
||||||
case vtFarmer:
|
case vtFarmer:
|
||||||
{
|
{
|
||||||
HandleFarmerAttemptSpecialAction();
|
HandleFarmerPrepareFarmCrops();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -95,7 +91,7 @@ void cVillager::Tick(float a_Dt, cChunk & a_Chunk)
|
|||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// Farmer functions.
|
// Farmer functions.
|
||||||
void cVillager::HandleFarmerAttemptSpecialAction()
|
void cVillager::HandleFarmerPrepareFarmCrops()
|
||||||
{
|
{
|
||||||
if (!m_World->VillagersShouldHarvestCrops())
|
if (!m_World->VillagersShouldHarvestCrops())
|
||||||
{
|
{
|
||||||
@ -144,7 +140,7 @@ void cVillager::HandleFarmerAttemptSpecialAction()
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cVillager::HandleFarmerAction()
|
void cVillager::HandleFarmerTryHarvestCrops()
|
||||||
{
|
{
|
||||||
// Harvest the crops if the villager isn't moving and if the crops are closer then 2 blocks.
|
// Harvest the crops if the villager isn't moving and if the crops are closer then 2 blocks.
|
||||||
if (!m_bMovingToDestination && (GetPosition() - m_CropsPos).Length() < 2)
|
if (!m_bMovingToDestination && (GetPosition() - m_CropsPos).Length() < 2)
|
||||||
@ -164,7 +160,7 @@ void cVillager::HandleFarmerAction()
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void cVillager::HandleFarmerEndCountDown()
|
void cVillager::HandleFarmerPlaceCrops()
|
||||||
{
|
{
|
||||||
// Check if there is still farmland at the spot where the crops were.
|
// Check if there is still farmland at the spot where the crops were.
|
||||||
if (m_World->GetBlock(m_CropsPos.x, m_CropsPos.y - 1, m_CropsPos.z) == E_BLOCK_FARMLAND)
|
if (m_World->GetBlock(m_CropsPos.x, m_CropsPos.y - 1, m_CropsPos.z) == E_BLOCK_FARMLAND)
|
||||||
|
@ -34,17 +34,24 @@ public:
|
|||||||
virtual void Tick (float a_Dt, cChunk & a_Chunk) override;
|
virtual void Tick (float a_Dt, cChunk & a_Chunk) override;
|
||||||
|
|
||||||
// cVillager functions
|
// cVillager functions
|
||||||
|
/** return true if the given blocktype are: crops, potatoes or carrots.*/
|
||||||
bool IsBlockFarmable(BLOCKTYPE a_BlockType);
|
bool IsBlockFarmable(BLOCKTYPE a_BlockType);
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////
|
||||||
// Farmer functions
|
// Farmer functions
|
||||||
void HandleFarmerAttemptSpecialAction();
|
/** It searches in a 11x7x11 area for crops. If it found some it will navigate to them.*/
|
||||||
void HandleFarmerAction();
|
void HandleFarmerPrepareFarmCrops();
|
||||||
void HandleFarmerEndCountDown();
|
|
||||||
|
/** Looks if the farmer has reached it's destination, and if it's still crops and the destination is closer then 2 blocks it will harvest them.*/
|
||||||
|
void HandleFarmerTryHarvestCrops();
|
||||||
|
|
||||||
|
/** Replaces the crops he harvested.*/
|
||||||
|
void HandleFarmerPlaceCrops();
|
||||||
|
|
||||||
// Get and set functions.
|
// Get and set functions.
|
||||||
int GetVilType(void) const { return m_Type; }
|
int GetVilType(void) const { return m_Type; }
|
||||||
Vector3i GetCropsPos(void) const { return m_CropsPos; }
|
Vector3i GetCropsPos(void) const { return m_CropsPos; }
|
||||||
bool DoesHaveActionActivated(void) const { return m_VillagerAction; }
|
bool DoesHaveActionActivated(void) const { return m_VillagerAction; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user