public void Ignite(ViewModel vm, ItemRepresentation itemRep, ITorchItem torchItem) { if (torchItem != null) { torchItem.Ignite(); } bool flag = vm != null; GameObject gameObject = null; if (flag) { this.StrikeSound.Play(); Socket.Slot item = vm.socketMap["muzzle"]; gameObject = item.socket.InstantiateAsChild(this.FirstPersonLightPrefab, false); if (torchItem != null) { torchItem.light = gameObject; } } else if ((torchItem == null || !torchItem.light) && (!itemRep.networkView.isMine || actor.forceThirdPerson)) { if (this.ThirdPersonLightPrefab) { ((TorchItemRep)itemRep)._myLightPrefab = this.ThirdPersonLightPrefab; } ((TorchItemRep)itemRep).RepIgnite(); if (((TorchItemRep)itemRep)._myLight && torchItem != null) { torchItem.light = ((TorchItemRep)itemRep)._myLight; } } }
public override void PrimaryAttack(ViewModel vm, ItemRepresentation itemRep, IThrowableItem itemInstance, ref HumanController.InputSample sample) { ITorchItem torchInstance = this.GetTorchInstance(itemInstance); if (!torchInstance.isLit) { if (vm != null) { vm.Play("ignite"); } torchInstance.realIgniteTime = Time.time + 0.8f; torchInstance.nextPrimaryAttackTime = Time.time + 1.5f; torchInstance.nextSecondaryAttackTime = Time.time + 1.5f; } }
public override void SecondaryAttack(ViewModel vm, ItemRepresentation itemRep, IThrowableItem itemInstance, ref HumanController.InputSample sample) { ITorchItem torchInstance = this.GetTorchInstance(itemInstance); if (!torchInstance.isLit) { this.PrimaryAttack(vm, itemRep, itemInstance, ref sample); torchInstance.forceSecondaryTime = Time.time + 1.51f; return; } if (vm) { vm.Play("throw"); } torchInstance.realThrowTime = Time.time + 0.5f; torchInstance.nextPrimaryAttackTime = Time.time + 1.5f; torchInstance.nextSecondaryAttackTime = Time.time + 1.5f; }
public void OnExtinguish(ViewModel vm, ItemRepresentation itemRep, ITorchItem torchItem) { }