public void OnLevelLoaded(int level) { List <AirdropNode> nodes = FieldAirdropNodes.GetValue(null) as List <AirdropNode>; if (Configuration.Instance.UseDefaultSpawns) { if (!Configuration.Instance.UseDefaultAirdrops) { Random random = new Random(); foreach (AirdropNode node in nodes) { node.id = Configuration.Instance.Airdrops[random.Next(Configuration.Instance.Airdrops.Count)].AirdropId; } } } else { nodes = new List <AirdropNode>(); } foreach (AirdropSpawn spawn in Configuration.Instance.AirdropSpawns) { AirdropManagerUtility.AddAirdropToNodes(nodes, spawn); } FieldAirdropNodes.SetValue(null, nodes); }
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 void OnLevelLoaded(int level) { var field = typeof(LevelManager).GetField("airdropNodes", BindingFlags.Static | BindingFlags.NonPublic); List <AirdropNode> nodes = field.GetValue(null) as List <AirdropNode>; if (Configuration.Instance.UseDefaultSpawns) { if (!Configuration.Instance.UseDefaultAirdrops) { Random random = new Random(); foreach (AirdropNode node in nodes) { node.id = Configuration.Instance.Airdrops[random.Next(Configuration.Instance.Airdrops.Count)].AirdropId; } } } else { nodes = new List <AirdropNode>(); } foreach (AirdropSpawn spawn in Configuration.Instance.AirdropSpawns) { AirdropManagerUtility.AddAirdropToNodes(nodes, spawn); } field.SetValue(null, nodes); }