private void OnSelectedMetalMessage(IServerPlayer player, SelectedMetalMessage message) { EntityBehaviorAllomancy allomancy = (EntityBehaviorAllomancy)(player.Entity.GetBehavior("allomancy")); if (message._metal_id < -1 || message._metal_id >= MistModSystem.METALS.Length) { return; } if (message._metal_id == -1) // The client doesn't know what the selected metal is { string selectedMetal = allomancy.Helper.GetSelectedMetal(); int result = -1; if (selectedMetal != "none") { result = Array.IndexOf(MistModSystem.METALS, selectedMetal); } Channel.SendPacket(new SelectedMetalMessage(result), player); } else // The client does know what the selected metal is. { string selectedMetal = MistModSystem.METALS[message._metal_id]; allomancy.Helper.SetSelectedMetal(selectedMetal); } allomancy.Helper.Debug(); }
private void OnSelectedMetalMessage(SelectedMetalMessage message) { if (message._metal_id < -1 || message._metal_id >= MistModSystem.METALS.Length) { return; } if (message._metal_id != -1) { metalSelector.SelectMetal(message._metal_id); } }