-
Notifications
You must be signed in to change notification settings - Fork 617
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Цели станции: Часть 2 #2338
Цели станции: Часть 2 #2338
Conversation
у Фрейма должна быть только FrameRepair цель |
лишние цели с Frame убрал. В любом случае если там нет факса она не будет приходить, так что тебе нужно его замаппить |
he is cooking 🗣️🗣️🗣️ |
С этого момента цели станций переходят под юриспруденцию Моты, как новая часть маппинга |
if (playerCount > goalProto.MaxPlayers || | ||
playerCount < goalProto.MinPlayers) | ||
{ | ||
station.Goals.Remove(goalId); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Какой смысл удалять, если мы даже не пройдемся по все массиву и там могут остаться невалидные цели. Имеет смысл заранее пройтись, удалить невалидные цели и потом выбрать случайную из оставшихся.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Этот вариант более оптимизированный, так как индексация прототипов не самый легкий процесс. Здесь в 90% случаев первая попавшаяся цель будет валидна, и нам не придется индексировать все остальное
Ну а если первая цель невалидна оказалась - повторный рандомный выбор по списку, уже без этой невалидной цели
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Но какой тогда смысл удалять из компонента цели, просто это создает пограничное состояние, где мы не доверяем содержимому в компоненте, так как там половина может быть и валидна, а половина нет. Имеет смысл тогда вообще не удалять от туда ничего.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А, ну точно, надо просто закешировать в функции
Co-authored-by: Morb <[email protected]>
Co-authored-by: Morb <[email protected]>
…rvax-ed-work into ed-25-06-2024-goals2
Описание PR
Сильно апгрейднута система целей станции:
Медиа
Технические моменты
Теперь у прототипа карты есть компонент StationGoal, который отправляет всем нужным факсам на этом гриде сообщение + необходимые предметы.
Если вы хотите сделать карту с уникальным набором целей, вы можете в прототипе своей карты перезаписать их следующим образом:
команда sendstationgoal теперь принимает 2 аргумента - код энтити станции + прото цели
Если этого не сделать, у станции будет стандартный набор целей.
Проверки
Изменения
🆑