public override void OnEvent(PlayerUsePickup evnt) { if (evnt.ItemToUse == "speed") { rb.AddForce(transform.forward * speedBoost); } else if (evnt.ItemToUse == "shield") { forcefield.SetActive(true); } }
public override void OnEvent(PlayerUsePickup evnt) { if (BoltNetwork.IsServer && evnt.ItemToUse == "missile") { BoltNetwork.Instantiate(BoltPrefabs.HajMissile, evnt.Position, Quaternion.Euler(evnt.Rotation)); } else if (BoltNetwork.IsServer) { var speedEvnt = PlayerUsePickup.Create(evnt.Entity); speedEvnt.ItemToUse = evnt.ItemToUse; speedEvnt.Send(); } }
public override void SimulateOwner() { if ((Input.GetKeyDown(KeyCode.F) || Input.GetKeyDown("joystick button 0")) && hasItem) { var evnt = PlayerUsePickup.Create(Bolt.GlobalTargets.OnlyServer); evnt.ItemToUse = currentItem; Vector3 forward = transform.forward * 3; if (currentItem == "missile") { evnt.Position = transform.position + new Vector3(forward.x, 0, forward.z) + transform.up / 2; evnt.Rotation = transform.eulerAngles; } evnt.Entity = entity; evnt.Send(); hasItem = false; currentItem = ""; } }