Ошибка CS0150 указывает на то, что ожидается константное значение в определенном контексте, но в коде передается не константное значение. В данном случае, ошибка может возникать из-за некорректного использования условий и операторов в коде.
Для исправления проблемы, пожалуйста, обратите внимание на место, где возникает ошибка CS0150 и убедитесь, что вы используете константные значения там, где это необходимо. Возможно, вам нужно пересмотреть логику условий в данном участке кода, чтобы устранить ошибку.
Вот пример исправленного кода, где я предполагаю, что проблема может быть связана с передачей неконстантного значения в метод
DrawBox
:
C#:
if (currDistance < npcPlayerDistance)
{
string displayName = !string.IsNullOrEmpty(target.displayName) && IsLetters(target.displayName) ? target.displayName : target.ShortPrefabName == "scarecrow" ? ins.msg("scarecrow", player.UserIDString) : target.PrefabName.Contains("scientist") ? ins.msg("scientist", player.UserIDString) : target is NPCMurderer ? ins.msg("murderer", player.UserIDString) : ins.msg("npc", player.UserIDString);
#if DEBUG
displayName = target is HTNPlayer ? "htn" : target is NPCMurderer ? "murderer" : target is Scientist ? "scientist" : target.ShortPrefabName;
#endif
DrawArrow(__(npcColor), target.transform.position + new Vector3(0f, target.transform.position.y + 10), target.transform.position, 1, false);
DrawText(__(npcColor), target.transform.position + new Vector3(0f, 2f, 0f), string.Format("{0} <color={1}>{2}</color> <color={3}>{4}</color>", displayName, healthCC, Math.Floor(target.health), distCC, currDistance.ToString("0"));
DrawBox(__(npcColor), target.transform.position + new Vector3(0f, 1f, 0f), target.GetHeight(target.modelState.ducked));
}
else
{
DrawBox(__(npcColor), target.transform.position + new Vector3(0f, 1f, 0f), 5f, true);
}
checks++;
Пожалуйста, убедитесь, что ваши значения, передаваемые в методы
DrawArrow
,
DrawText
,
DrawBox
и другие, являются константными там, где это ожидается. Проанализируйте код и внесите необходимые коррективы, чтобы избавиться от ошибки CS0150. Если у вас есть дополнительные вопросы или требуется больше помощи, не стесняйтесь обращаться.