public void Equip() { List <ItemPropertyAmount> properties = new List <ItemPropertyAmount>(); properties = itemDefinition.ItemProperties; int count = properties.Count; if (count > 0) { for (int i = 0; i < count; i++) { ItemPropertyType type = properties[i].PropertyType; float value = properties[i].Amount; switch (type) { case ItemPropertyType.Charm: otherBonusController.IncreaseCharm(value); break; case ItemPropertyType.BonusProject: otherBonusController.IncreaseReduceBugChance(value); break; case ItemPropertyType.BonusProjectGoldenTime: otherBonusController.IncreaseBootupProjectInGoldenTime(value); break; case ItemPropertyType.BonusMotivation: otherBonusController.IncreaseBootupMotivation(value); break; case ItemPropertyType.BonusMotivationGoldenTime: otherBonusController.IncreaseBootupMotivationInGoldenTime(value); break; case ItemPropertyType.ReduceEnergyConsume: otherBonusController.IncreaseEnergyConsume(value); break; case ItemPropertyType.ReduceEnergyConsumeGoldenTime: otherBonusController.IncreaseEnergyConsumeInGoldenTime(value); break; case ItemPropertyType.ReduceChanceBug: otherBonusController.IncreaseReduceBugChance(value); break; case ItemPropertyType.ReduceCourseTime: otherBonusController.IncreaseReduceTimeCourse(value); break; case ItemPropertyType.ReduceTransportTime: otherBonusController.IncreaseReduceTimeTransport(value); break; case ItemPropertyType.IncreaseDropRate: otherBonusController.IncreaseDropRate(value); break; case ItemPropertyType.MaxEnergy: otherBonusController.IncreaseMaxEnergy((int)value); break; case ItemPropertyType.Coding: otherBonusController.IncreaseCodingStatus((int)value); break; case ItemPropertyType.Design: otherBonusController.IncreaseDesignStatus((int)value); break; case ItemPropertyType.Testing: otherBonusController.IncreaseTestingStatus((int)value); break; case ItemPropertyType.Art: otherBonusController.IncreaseArtStatus((int)value); break; case ItemPropertyType.Sound: otherBonusController.IncreaseSoundStatus((int)value); break; } } } }