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 CallAirdrop(bool isMass = false) { if (isMass) { foreach (var airdrop in FieldAirdropNodes.GetValue(null) as List <AirdropNode> ) { LevelManager.airdrop(airdrop.point, airdrop.id, Provider.modeConfigData.Events.Airdrop_Speed); } ChatManager.serverSendMessage(Translate("MassAirdrop").ToRich(), MessageColor, null, null, EChatMode.SAY, Configuration.Instance.AirdropMessageIcon, true); } else { if (!Configuration.Instance.UseDefaultSpawns) { var airdrop = Configuration.Instance.AirdropSpawns[UnityEngine.Random.Range(0, Configuration.Instance.AirdropSpawns.Count)]; LevelManager.airdrop(airdrop.Position.ToVector(), airdrop.AirdropId, Provider.modeConfigData.Events.Airdrop_Speed); ChatManager.serverSendMessage(Translate("AirdropWithName", airdrop.Name).ToRich(), MessageColor, null, null, EChatMode.SAY, Configuration.Instance.AirdropMessageIcon, true); FieldHasAirdrop.SetValue(null, false); } else { ChatManager.serverSendMessage(Translate("Airdrop").ToRich(), MessageColor, null, null, EChatMode.SAY, Configuration.Instance.AirdropMessageIcon, true); LevelManager.airdropFrequency = 0; } } }