Example #1
0
 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);
        }
Example #4
0
 /// <summary>
 /// 加入船体数据
 /// </summary>
 public static void JoinBoatData(MapStart start)
 {
     m_MapStart = start;
 }
Example #5
0
 /// <summary>
 /// 移除海洋环境数据
 /// </summary>
 public static void ExitBoatData()
 {
     m_MapStart = null;
 }
Example #6
0
        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);
        }