mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/4jcraft.git
synced 2026-06-18 05:31:54 +00:00
format .Client/Common/GameRules
This commit is contained in:
@@ -5,62 +5,66 @@
|
||||
#include "../../Minecraft.World/Network/Connection.h"
|
||||
#include "../../Minecraft.World/Headers/net.minecraft.network.packet.h"
|
||||
|
||||
void CompleteAllRuleDefinition::getChildren(std::vector<GameRuleDefinition *> *children)
|
||||
{
|
||||
CompoundGameRuleDefinition::getChildren(children);
|
||||
void CompleteAllRuleDefinition::getChildren(
|
||||
std::vector<GameRuleDefinition*>* children) {
|
||||
CompoundGameRuleDefinition::getChildren(children);
|
||||
}
|
||||
|
||||
bool CompleteAllRuleDefinition::onUseTile(GameRule *rule, int tileId, int x, int y, int z)
|
||||
{
|
||||
bool statusChanged = CompoundGameRuleDefinition::onUseTile(rule,tileId,x,y,z);
|
||||
if(statusChanged) updateStatus(rule);
|
||||
return statusChanged;
|
||||
bool CompleteAllRuleDefinition::onUseTile(GameRule* rule, int tileId, int x,
|
||||
int y, int z) {
|
||||
bool statusChanged =
|
||||
CompoundGameRuleDefinition::onUseTile(rule, tileId, x, y, z);
|
||||
if (statusChanged) updateStatus(rule);
|
||||
return statusChanged;
|
||||
}
|
||||
|
||||
bool CompleteAllRuleDefinition::onCollectItem(GameRule *rule, std::shared_ptr<ItemInstance> item)
|
||||
{
|
||||
bool statusChanged = CompoundGameRuleDefinition::onCollectItem(rule,item);
|
||||
if(statusChanged) updateStatus(rule);
|
||||
return statusChanged;
|
||||
bool CompleteAllRuleDefinition::onCollectItem(
|
||||
GameRule* rule, std::shared_ptr<ItemInstance> item) {
|
||||
bool statusChanged = CompoundGameRuleDefinition::onCollectItem(rule, item);
|
||||
if (statusChanged) updateStatus(rule);
|
||||
return statusChanged;
|
||||
}
|
||||
|
||||
void CompleteAllRuleDefinition::updateStatus(GameRule *rule)
|
||||
{
|
||||
int goal = 0;
|
||||
int progress = 0;
|
||||
for(AUTO_VAR(it, rule->m_parameters.begin()); it != rule->m_parameters.end(); ++it)
|
||||
{
|
||||
if(it->second.isPointer)
|
||||
{
|
||||
goal += it->second.gr->getGameRuleDefinition()->getGoal();
|
||||
progress += it->second.gr->getGameRuleDefinition()->getProgress(it->second.gr);
|
||||
}
|
||||
}
|
||||
if(rule->getConnection() != NULL)
|
||||
{
|
||||
PacketData data;
|
||||
data.goal = goal;
|
||||
data.progress = progress;
|
||||
void CompleteAllRuleDefinition::updateStatus(GameRule* rule) {
|
||||
int goal = 0;
|
||||
int progress = 0;
|
||||
for (AUTO_VAR(it, rule->m_parameters.begin());
|
||||
it != rule->m_parameters.end(); ++it) {
|
||||
if (it->second.isPointer) {
|
||||
goal += it->second.gr->getGameRuleDefinition()->getGoal();
|
||||
progress += it->second.gr->getGameRuleDefinition()->getProgress(
|
||||
it->second.gr);
|
||||
}
|
||||
}
|
||||
if (rule->getConnection() != NULL) {
|
||||
PacketData data;
|
||||
data.goal = goal;
|
||||
data.progress = progress;
|
||||
|
||||
int icon = -1;
|
||||
int auxValue = 0;
|
||||
|
||||
if(m_lastRuleStatusChanged != NULL)
|
||||
{
|
||||
icon = m_lastRuleStatusChanged->getIcon();
|
||||
auxValue = m_lastRuleStatusChanged->getAuxValue();
|
||||
m_lastRuleStatusChanged = NULL;
|
||||
}
|
||||
rule->getConnection()->send( std::shared_ptr<UpdateGameRuleProgressPacket>( new UpdateGameRuleProgressPacket(getActionType(), this->m_descriptionId,icon, auxValue, 0,&data,sizeof(PacketData))));
|
||||
}
|
||||
app.DebugPrintf("Updated CompleteAllRule - Completed %d of %d\n", progress, goal);
|
||||
int icon = -1;
|
||||
int auxValue = 0;
|
||||
|
||||
if (m_lastRuleStatusChanged != NULL) {
|
||||
icon = m_lastRuleStatusChanged->getIcon();
|
||||
auxValue = m_lastRuleStatusChanged->getAuxValue();
|
||||
m_lastRuleStatusChanged = NULL;
|
||||
}
|
||||
rule->getConnection()->send(
|
||||
std::shared_ptr<UpdateGameRuleProgressPacket>(
|
||||
new UpdateGameRuleProgressPacket(
|
||||
getActionType(), this->m_descriptionId, icon, auxValue, 0,
|
||||
&data, sizeof(PacketData))));
|
||||
}
|
||||
app.DebugPrintf("Updated CompleteAllRule - Completed %d of %d\n", progress,
|
||||
goal);
|
||||
}
|
||||
|
||||
std::wstring CompleteAllRuleDefinition::generateDescriptionString(const std::wstring &description, void *data, int dataLength)
|
||||
{
|
||||
PacketData *values = (PacketData *)data;
|
||||
std::wstring newDesc = description;
|
||||
newDesc = replaceAll(newDesc,L"{*progress*}",_toString<int>(values->progress));
|
||||
newDesc = replaceAll(newDesc,L"{*goal*}",_toString<int>(values->goal));
|
||||
return newDesc;
|
||||
std::wstring CompleteAllRuleDefinition::generateDescriptionString(
|
||||
const std::wstring& description, void* data, int dataLength) {
|
||||
PacketData* values = (PacketData*)data;
|
||||
std::wstring newDesc = description;
|
||||
newDesc =
|
||||
replaceAll(newDesc, L"{*progress*}", _toString<int>(values->progress));
|
||||
newDesc = replaceAll(newDesc, L"{*goal*}", _toString<int>(values->goal));
|
||||
return newDesc;
|
||||
}
|
||||
Reference in New Issue
Block a user