Beispiel #1
0
        public void Execute(IRocketPlayer caller, params string[] command)
        {
            ushort airdropId = 0;

            if (command.Length < 1)
            {
                UnturnedChat.Say(caller, AirdropManagerPlugin.Instance.Translate("SetAirdropFormat"), Color.red);
                return;
            }

            if (ushort.TryParse(command[0], out airdropId))
            {
                UnturnedPlayer player   = (UnturnedPlayer)caller;
                Vector3        position = player.Position;
                AirdropSpawn   spawn    = new AirdropSpawn()
                {
                    AirdropId = airdropId, Position = new Position(position.x, position.y, position.z)
                };

                AirdropManagerUtility.AddAirdropSpawn(spawn);
                AirdropManagerPlugin.Instance.Configuration.Instance.AirdropSpawns.Add(spawn);
                AirdropManagerPlugin.Instance.Configuration.Save();

                UnturnedChat.Say(caller, AirdropManagerPlugin.Instance.Translate("SetAirdropSuccess"), Color.yellow);
            }
            else
            {
                UnturnedChat.Say(caller, AirdropManagerPlugin.Instance.Translate("SetAirdropInvalid"), Color.yellow);
            }
        }
        public static void AddAirdropSpawn(AirdropSpawn spawn)
        {
            var field = typeof(LevelManager).GetField("airdropNodes", BindingFlags.Static | BindingFlags.NonPublic);
            List <AirdropNode> nodes = field.GetValue(null) as List <AirdropNode>;

            AddAirdropToNodes(nodes, spawn);
            field.SetValue(null, nodes);
        }
 public static void AddAirdropToNodes(List <AirdropNode> nodes, AirdropSpawn spawn)
 {
     if (spawn.AirdropId == 0)
     {
         nodes.Add(new AirdropNode(spawn.Position.ToVector()));
     }
     else
     {
         nodes.Add(new AirdropNode(spawn.Position.ToVector(), spawn.AirdropId));
     }
 }