public void RpcResultInvest()
{
var suminvest = 0;
var curbuild = GM.Buildings[GM.LandNum];
for (int i = 0; i < 6; i++)
{
suminvest += GM.invest[i];
}
if (suminvest >= curbuild.building.getMinPopulation())
{
InGameSoundManager.SEinvestSuccess.Play();
if (curbuild.building.getState() == State.Idle)
{
curbuild.building.setState(State.Constructing);
//GM.RpcLogAddedEventInvoke($"\t건물 건설이 성사되었습니다.");
if (isServer)
{
GM.RpcLog($"[{curbuild.gameObject.name}]건물 건설이 성사되었습니다.");
}
//GM.LM.CmdOnLogReceivedEvent($"[{curbuild.gameObject.name}]건물 건설이 성사되었습니다.");
}
else if (curbuild.building.getState() == State.Damaged)
{
curbuild.building.setState(State.Repair);
//GM.RpcLogAddedEventInvoke($"\t건물 건설이 무산되었습니다.");
if (isServer)
{
GM.RpcLog($"[{curbuild.gameObject.name}]건물 수리가 성사되었습니다.");
}
//GM.LM.CmdOnLogReceivedEvent($"[{curbuild.gameObject.name}]건물 수리가 성사되었습니다.");
}
curbuild.building.setCompleteTurn((int)Mathf.Ceil(curbuild.building.getNeedPopulation() / suminvest));
if (curbuild.building.getCompleteTurn() < 1)
{
curbuild.building.setCompleteTurn(1);
Debug.Log("Turn을 1로 변경함.");
}
for (int i = 0; i < 6; i++)
{
if (GM.AlienDistribution[i] == true)
{
curbuild.building.setAlien(curbuild.building.getAlien() + GM.invest[i]);
}
else
{
curbuild.building.setHuman(curbuild.building.getHuman() + GM.invest[i]);
}
}
curbuild.ShowBuildingStateImage();
}
else
{
if (isServer)
{
GM.RpcLog($"[{curbuild.gameObject.name}]건물 건설이 무산되었습니다.");
}
//GM.LM.CmdOnLogReceivedEvent($"[{curbuild.gameObject.name}]건물 건설이 무산되었습니다.");
InGameSoundManager.SEinvestFail.Play();
}
for (int i = 0; i < 6; i++)
{
GM.invest[i] = 0;
}
}