private static void OnMapStart() { try { MapStart?.Invoke(); } catch (Exception ex) { Trace.WriteLine("Unhandled Exception in " + typeof(Game).Name + ".OnMapStart!"); Trace.WriteLine(ex.ToString()); } }
public void TestWrite() { var ms = new MapStart { MapSize = 1024 }; byte[] buffer = new byte[ms.Length]; ms.Write(buffer.AsSpan()); byte[] expected = new byte[] { 0x0, 0x4, 0x0, 0x0 }; Assert.Equal(expected, buffer); var cp = new CreatePlayer { Name = "Deuce", PlayerId = 0, Position = new Vector3(0f, 0f, 0f), Team = TeamType.Blue, Weapon = WeaponType.Rifle }; buffer = new byte[cp.Length]; cp.Write(buffer.AsSpan()); expected = new byte[] { // ID 0x0, // Weapon 0x0, // Team (byte)TeamType.Blue, // Position 0x0, 0x0, 0x0, 0x00, 0x0, 0x0, 0x0, 0x00, 0x0, 0x0, 0x0, 0x00, // Name 0x44, 0x65, 0x75, 0x63, 0x65 }; output.WriteLine("Expected:"); output.WriteLine(HexDump.Create(expected)); output.WriteLine("Actual:"); output.WriteLine(HexDump.Create(buffer)); Assert.Equal(expected, buffer); }
public void InitializeMap(bool loadGame) { if (loadGame) { //TODO: load game } else { Scene.LoadEntities(MapInfo.Model.BSPFile.Entities); } Scene.Start(); MapStart?.Invoke(this, Scene); }
/// <summary> /// 加入船体数据 /// </summary> public static void JoinBoatData(MapStart start) { m_MapStart = start; }
/// <summary> /// 移除海洋环境数据 /// </summary> public static void ExitBoatData() { m_MapStart = null; }
public IMapObject GenerateObject() { IMapObject obj = null; if (objectType.SelectedItem.ToString() == ObjectStatic) { obj = new StaticMapObject(); } if (objectType.SelectedItem.ToString() == ObjectTrigger) { obj = new TriggerMapObject(); } if (objectType.SelectedItem.ToString() == ObjectEnemy) { obj = new EnemyMapObject(); } if (objectType.SelectedItem.ToString() == ObjectDoor) { obj = new DoorMapObject(); } if (objectType.SelectedItem.ToString() == ObjectContainer) { obj = new ContainerMapObject(); } if (objectType.SelectedItem.ToString() == ObjectBreakable) { obj = new BreakableMapObject(); } if (objectType.SelectedItem.ToString() == ObjectMovable) { obj = new MovableMapObject(); } if (objectType.SelectedItem.ToString() == ObjectItem) { obj = new ItemMapObject(); } if (objectType.SelectedItem.ToString() == ObjectSound) { obj = new SoundMapObject(); } if (objectType.SelectedItem.ToString() == ObjectDamager) { obj = new DamagerMapObject(); } if (objectType.SelectedItem.ToString() == ObjectEnemy) { obj = new EnemyMapObject(); } if (objectType.SelectedItem.ToString() == ObjectTriggerDoor) { obj = new TriggerDoorMapObject(); } if (objectType.SelectedItem.ToString() == ObjectTriggerContainer) { obj = new TriggerContainerMapObject(); } if (objectType.SelectedItem.ToString() == ObjectTriggerDoorSound) { obj = new TriggerDoorSoundMapObject(); } if (objectType.SelectedItem.ToString() == ObjectTriggerContainerSound) { obj = new TriggerContainerSoundMapObject(); } if (objectType.SelectedItem.ToString() == ObjectTriggerExit) { obj = new TriggerExitMapObject(); } if (objectType.SelectedItem.ToString() == ObjectTriggerTeleport) { obj = new TriggerTeleportMapObject(); } if (objectType.SelectedItem.ToString() == ObjectTriggerEnabler) { obj = new TriggerEnablerMapObject(); } if (objectType.SelectedItem.ToString() == ObjectTriggerComment) { obj = new TriggerCommentMapObject(); } if (objectType.SelectedItem.ToString() == ObjectMapStart) { obj = new MapStart(); } obj.SizeX = 1; obj.SizeY = 1; return(obj); }