public bool TryDoCommand(Players.Player id, string chatItem, List <string> splits) { if (splits.Count >= 1 && splits[0] == "/speed") { if (!PermissionsManager.CheckAndWarnPermission(id, (PermissionsManager.Permission) "FastGlider.speed")) { return(true); } if (splits.Count == 1) { Chat.Send(id, "Set the speed using /speed [speed]"); return(true); } else if (splits.Count == 2 && splits[0] == "/speed") { int result; if (!int.TryParse(splits[1], out result)) { Chat.Send(id, "Could not parse [" + splits[1] + "] as a number.", EChatSendOptions.Default); return(true); } if (result <= 0) { Chat.Send(id, "Speed cannot be 0 or lower. Use 2 to reset glider to default speed", EChatSendOptions.Default); return(true); } FastGlider.SetSpeed(result); Chat.Send(id, "Set Speed to " + result); return(true); } } return(false); }
private static void OnClicked(Players.Player sender, PlayerClickedData data) { if (data.ConsumedType != PlayerClickedData.EConsumedType.Not || data.IsHoldingButton || (data.ClickType != PlayerClickedData.EClickType.Right || data.OnBuildCooldown) || (data.HitType != PlayerClickedData.EHitType.Block || (int)data.TypeSelected != (int)ItemTypes.GetType(settings.ItemTypeName).ItemIndex || !sender.Inventory.TryRemove(data.TypeSelected, 1, -1, true))) { return; } data.ConsumedType = PlayerClickedData.EConsumedType.UsedAsTool; FastGlider.CreateGlider(data.GetExactHitPositionWorld() + settings.SpawnOffset, Quaternion.identity, FastGlider.CreateVehicleDescription(MeshedObjectID.GetNew()), (Players.Player)null); }
private static void LoadGliders(JObject rootObj) { JToken jtoken1; if (!rootObj.TryGetValue("transports", out jtoken1)) { return; } if (jtoken1.Type != JTokenType.Array) { Log.WriteWarning("Didn't load gliders as transports wasn't an array"); } else { JArray jarray = (JArray)jtoken1; int count = jarray.Count; for (int index = 0; index < count; ++index) { JToken jtoken2 = jarray[index]; if (jtoken2.Type == JTokenType.Object) { JObject jobject = (JObject)jtoken2; if (jobject.TryGetValue("type", out jtoken2) && jtoken2.Type == JTokenType.String) { if (!(jtoken2.Value <string>() != "fastglider")) { try { Vector3 spawnPosition = ReadVector3((JObject)jobject["position"]); Quaternion rotation = Quaternion.Euler(ReadVector3((JObject)jobject["rotation"])); MeshedVehicleDescription vehicleDescription = FastGlider.CreateVehicleDescription(MeshedObjectID.GetNew()); Players.Player player = (Players.Player)null; JToken jtoken3; if (jobject.TryGetValue("player", out jtoken3) && jtoken3.Type == JTokenType.String) { player = Players.GetPlayer(NetworkID.Parse((string)jtoken3)); MeshedObjectManager.Attach(player, vehicleDescription); } FastGlider.CreateGlider(spawnPosition, rotation, vehicleDescription, player); } catch (Exception ex) { Log.WriteException("Exception loading gliders:", ex); } } } } } } Vector3 ReadVector3(JObject obj) { return(new Vector3(obj.Value <float>((object)"x"), obj.Value <float>((object)"y"), obj.Value <float>((object)"z"))); } }