public override IEnumerator Process() { yield return(WaitFor(ProcessorObject)); var processorObj = NetworkObject; var performerObj = SentByPlayer.GameObject; //look up item in active hand slot var clientPNA = SentByPlayer.Script.playerNetworkActions; var handSlot = HandSlot.ForName(clientPNA.activeHand); var activatedObject = clientPNA.Inventory[handSlot.equipSlot].Item; ProcessActivate(activatedObject, processorObj, performerObj, handSlot); }
public override IEnumerator Process() { //look up item in active hand slot var clientPNA = SentByPlayer.Script.playerNetworkActions; var usedSlot = HandSlot.ForName(clientPNA.activeHand); var usedObject = clientPNA.Inventory[usedSlot.equipSlot].Item; yield return(WaitFor(ProcessorObject)); var processorObj = NetworkObject; var performerObj = SentByPlayer.GameObject; ProcessAimApply(usedObject, TargetVector, processorObj, performerObj, usedSlot, MouseButtonState); }
public override IEnumerator Process() { //look up item in active hand slot var clientPNA = SentByPlayer.Script.playerNetworkActions; var usedSlot = HandSlot.ForName(clientPNA.activeHand); var usedObject = clientPNA.Inventory[usedSlot.SlotName].Item; yield return(WaitFor(TargetObject, ProcessorObject)); var targetObj = NetworkObjects[0]; var processorObj = NetworkObjects[1]; var performerObj = SentByPlayer.GameObject; ProcessHandApply(usedObject, targetObj, processorObj, performerObj, usedSlot); }
public override IEnumerator Process() { yield return(WaitFor(ProcessorObject)); var processorObj = NetworkObject; var performerObj = SentByPlayer.GameObject; //look up item in active hand slot var clientPNA = SentByPlayer.Script.playerNetworkActions; var usedSlot = HandSlot.ForName(clientPNA.activeHand); var usedObject = clientPNA.Inventory[usedSlot.SlotName].Item; var targetSlot = InventoryManager.GetSlotFromUUID(TargetSlotUUID, true); //can only combine in their own slots if (targetSlot.Owner.gameObject != performerObj) { Logger.LogWarningFormat("Player {0} attempted to InventoryApply to a slot that isn't theirs! Possible" + " hacking attempt. targetSlot {1} (owner {2})", Category.Security, SentByPlayer.Name, targetSlot.SlotName, targetSlot.Owner.playerName); } else { ProcessCombine(usedSlot, usedObject, targetSlot, processorObj, performerObj); } }
public override IEnumerator Process() { var performer = SentByPlayer.GameObject; if (InteractionType == typeof(PositionalHandApply)) { //look up item in active hand slot var clientPNA = SentByPlayer.Script.playerNetworkActions; var usedSlot = HandSlot.ForName(clientPNA.activeHand); var usedObject = clientPNA.Inventory[usedSlot.equipSlot].Item; yield return(WaitFor(TargetObject, ProcessorObject)); var targetObj = NetworkObjects[0]; var processorObj = NetworkObjects[1]; var interaction = PositionalHandApply.ByClient(performer, usedObject, targetObj, TargetVector, usedSlot); ProcessInteraction(interaction, processorObj); } else if (InteractionType == typeof(HandApply)) { var clientPNA = SentByPlayer.Script.playerNetworkActions; var usedSlot = HandSlot.ForName(clientPNA.activeHand); var usedObject = clientPNA.Inventory[usedSlot.equipSlot].Item; yield return(WaitFor(TargetObject, ProcessorObject)); var targetObj = NetworkObjects[0]; var processorObj = NetworkObjects[1]; var performerObj = SentByPlayer.GameObject; var interaction = HandApply.ByClient(performer, usedObject, targetObj, TargetBodyPart, usedSlot); ProcessInteraction(interaction, processorObj); } else if (InteractionType == typeof(AimApply)) { var clientPNA = SentByPlayer.Script.playerNetworkActions; var usedSlot = HandSlot.ForName(clientPNA.activeHand); var usedObject = clientPNA.Inventory[usedSlot.equipSlot].Item; yield return(WaitFor(ProcessorObject)); var processorObj = NetworkObject; var performerObj = SentByPlayer.GameObject; var interaction = AimApply.ByClient(performer, TargetVector, usedObject, usedSlot, MouseButtonState); ProcessInteraction(interaction, processorObj); } else if (InteractionType == typeof(MouseDrop)) { yield return(WaitFor(UsedObject, TargetObject, ProcessorObject)); var usedObj = NetworkObjects[0]; var targetObj = NetworkObjects[1]; var processorObj = NetworkObjects[2]; var performerObj = SentByPlayer.GameObject; var interaction = MouseDrop.ByClient(performer, usedObj, targetObj); ProcessInteraction(interaction, processorObj); } else if (InteractionType == typeof(HandActivate)) { yield return(WaitFor(ProcessorObject)); var processorObj = NetworkObject; var performerObj = SentByPlayer.GameObject; //look up item in active hand slot var clientPNA = SentByPlayer.Script.playerNetworkActions; var handSlot = HandSlot.ForName(clientPNA.activeHand); var activatedObject = clientPNA.Inventory[handSlot.equipSlot].Item; var interaction = HandActivate.ByClient(performer, activatedObject, handSlot); ProcessInteraction(interaction, processorObj); } else if (InteractionType == typeof(InventoryApply)) { yield return(WaitFor(ProcessorObject)); var processorObj = NetworkObject; var performerObj = SentByPlayer.GameObject; var pna = SentByPlayer.Script.playerNetworkActions; var handSlot = HandSlot.ForName(pna.activeHand); var handObject = pna.Inventory[handSlot.equipSlot].Item; var interaction = InventoryApply.ByClient(performer, pna.GetInventorySlot(processorObj), handObject, handSlot); ProcessInteraction(interaction, processorObj); } }