public override void OnOkClick(MyGuiControlButton sender) { base.OnOkClick(sender); Debug.Assert(m_radiusSlider.GetValue() > 30 || m_bots.Count <= 1, "Spawnpoint radius is too small, you will probably get failed spawn attempts!"); if (!HasEntity()) { MyMwcObjectBuilder_SpawnPoint builder = MyMwcObjectBuilder_Base.CreateNewObject(MyMwcObjectBuilderTypeEnum.SpawnPoint, null) as MyMwcObjectBuilder_SpawnPoint; builder.BoundingRadius = m_radiusSlider.GetValue(); float cameraDistance = builder.BoundingRadius / (float)Math.Sin(MathHelper.ToRadians(MyCamera.FieldOfViewAngle / 2)) * 1.2f; m_spawnPoint = MyEntities.CreateFromObjectBuilderAndAdd(null, builder, Matrix.CreateWorld(MyCamera.Position + cameraDistance * MyCamera.ForwardVector, Vector3.Forward, Vector3.Up)) as MySpawnPoint; } MyMwcObjectBuilder_FactionEnum shipFaction = (MyMwcObjectBuilder_FactionEnum) Enum.ToObject(typeof(MyMwcObjectBuilder_FactionEnum), m_selectShipFactionCombobox.GetSelectedKey()); List<BotTemplate> templates = new List<BotTemplate>(); foreach (int key in m_bots.Keys) { BotTemplate btmp; m_bots.TryGetValue(key, out btmp); btmp.m_builder.Faction = shipFaction; templates.Add(btmp); } m_spawnPoint.SpawnInGroups = m_spawnInGroupsCheckbox.Checked; m_spawnPoint.LeftToSpawn = GetSpawnCount(); m_spawnPoint.MaxSpawnCount = m_spawnPoint.LeftToSpawn; m_spawnPoint.FirstSpawnTimer = m_firstSpawnTimeSlider.GetValue(); m_spawnPoint.RespawnTimer = m_respawnTimeSlider.GetValue(); m_spawnPoint.Faction = shipFaction; m_spawnPoint.SetWayPointPath(m_waypointPathCombobox.GetSelectedValue().ToString()); m_spawnPoint.PatrolMode = (MyPatrolMode)m_patrolModeCombobox.GetSelectedKey(); m_spawnPoint.ApplyBotTemplates(templates); m_spawnPoint.BoundingSphereRadius = m_radiusSlider.GetValue(); if (m_activeCheckbox.Checked && !m_spawnPoint.IsActive()) { m_spawnPoint.Activate(); } else if (!m_activeCheckbox.Checked && m_spawnPoint.IsActive()) { m_spawnPoint.Deactivate(); } MyGuiManager.CloseAllScreensExcept(MyGuiScreenGamePlay.Static); }
void spawnPoint_OnActivatedChanged(MySpawnPoint obj) { UpdateCurrentBotCount(); }
public MyGuiScreenEditorSpawnPoint(MySpawnPoint spawnPoint) : base(spawnPoint, new Vector2(0.5f, 0.5f), MyGuiConstants.SCREEN_BACKGROUND_COLOR, null, MyTextsWrapperEnum.SpawnPoint) { m_spawnPoint = spawnPoint; Init(); }
private void MyScriptWrapperOnSpawnpointBotsKilled(MySpawnPoint spawnPoint) { if (spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnPoint1) { MyScriptWrapper.ActivateSpawnPoint((uint)EntityID.SpawnPoint2); } }
private void Script_SpawnpointBotsKilled(MySpawnPoint spawnPoint) { if (spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnPointEscape) { MyScriptWrapper.PlayDialogue(MyDialogueEnum.BARTHS_MOON_TRANSMITTER_2800); } if (spawnPoint.EntityId.Value.NumericValue == (uint)EntityID.SpawnPoint4) { MyScriptWrapper.PlayDialogue(MyDialogueEnum.BARTHS_MOON_TRANSMITTER_3000); } }
public void SpawnBot(MySpawnPoint spawnPoint, MySmallShipBot bot, int botsIdx, Vector3 spawnPosition) { MyEventSpawnBot msg = new MyEventSpawnBot(); msg.SpawnPointId = (uint)spawnPoint.EntityId.Value.NumericValue; msg.DesiredBotId = (uint)bot.EntityId.Value.NumericValue; msg.BotsIdx = botsIdx; msg.SpawnPosition = spawnPosition; LogDevelop(string.Format("SpawnBot(SpawnPointId = {0}, DesiredBotId = {1}, BotsIdx = {2})", msg.SpawnPointId, msg.DesiredBotId, msg.BotsIdx)); Peers.SendToAll(ref msg, NetDeliveryMethod.ReliableOrdered); }
void Travel_SpawnpointBotsKilled(MySpawnPoint spawnPoint) { if (spawnPoint == MyScriptWrapper.TryGetEntity((uint)EntityID.AMBUSH_1_SPAWNPOINT_B)) { MyScriptWrapper.PlayDialogue(MyDialogueEnum.PIRATE_BASE_0300); } if (spawnPoint == MyScriptWrapper.TryGetEntity((uint)EntityID.AMBUSH_6_SPAWNPOINT_B)) { MyScriptWrapper.PlayDialogue(MyDialogueEnum.PIRATE_BASE_0500); } }
void OnSpawnpointBotsKilled(MySpawnPoint spawnpoint) { uint id = MyScriptWrapper.GetEntityId(spawnpoint); switch (id) { // Ambush waves case (uint)EntityID.AmbushSpawnpoint0: MyScriptWrapper.ActivateSpawnPoint((uint)EntityID.AmbushSpawnpoint1); break; case (uint)EntityID.AmbushSpawnpoint1: MyScriptWrapper.ActivateSpawnPoint((uint)EntityID.AmbushSpawnpoint2); break; // Fly Back waves case (uint)EntityID.FlyBackSpawnpoint0: MyScriptWrapper.ActivateSpawnPoint((uint)EntityID.FlyBackSpawnpoint1); break; case (uint)EntityID.FlyBackSpawnpoint1: MyScriptWrapper.ActivateSpawnPoint((uint)EntityID.FlyBackSpawnpoint2); break; } }