・HoloMonConditionLifeSingleton.cs(一部)
<summary>
</summary>
<param name="a_DataTime"></param>
private void CheckHungry(DateTime a_DataTime)
{
DateTime changeTime = p_HoloMonLifeStatus.Value.HungryChangeTime;
int elapsedTotalMinutes = ActivityElapsedMinutes(changeTime, a_DataTime);
int decreseCoefficient = elapsedTotalMinutes / p_HoloMonHungrySetting.DecreaseMarginMinute;
int totalDecreasePoint = decreseCoefficient * p_HoloMonHungrySetting.DecreasePoint;
int resultHungryPercent = p_HoloMonLifeStatus.Value.HungryPercent - totalDecreasePoint;
if (resultHungryPercent < 0)
{
float currentHeight = HoloMonConditionBodySingleton.Instance.
IReadOnlyReactivePropertyHoloMonBodyStatus.Value.BodyHeight;
float resultHeight = currentHeight + (0.01f * resultHungryPercent);
if (resultHeight < 0.25f) resultHeight = 0.25f;
float decreaseHeight = currentHeight - resultHeight;
if (decreaseHeight > 0.0f)
{
float currentPower = HoloMonConditionBodySingleton.Instance.
IReadOnlyReactivePropertyHoloMonBodyStatus.Value.BodyPower;
float resultPower = currentPower + (1.0f * decreaseHeight);
HoloMonConditionBodySingleton.Instance.SetPower(resultPower);
}
HoloMonConditionBodySingleton.Instance.SetHeight(resultHeight);
}
if (resultHungryPercent < 0) resultHungryPercent = 0;
int actualDecrease = p_HoloMonLifeStatus.Value.HungryPercent - resultHungryPercent;
int resultShitPercent = p_HoloMonLifeStatus.Value.ShitPercent + (actualDecrease * p_HoloMonShitSetting.IncreaseFactor);
ReceptionHungryPercent(resultHungryPercent);
ReceptionShitPercent(resultShitPercent);
}