public void AttachDetachedWeapon(NodeRemoveEvent e, TankNode tank, [JoinByTank, Context] TankIncarnationNode incornation, [JoinByTank] DetachedWeaponNode weapon) { this.StopCollide(weapon.weaponDetachCollider); WeaponVisualRootComponent weaponVisualRoot = weapon.weaponVisualRoot; weaponVisualRoot.transform.SetParent(tank.visualMountPoint.MountPoint, false); weaponVisualRoot.transform.localRotation = Quaternion.identity; weaponVisualRoot.transform.localPosition = Vector3.zero; this.StopCollide(weapon.weaponDetachCollider); weaponVisualRoot.VisualTriggerMarker.VisualTriggerMeshCollider.enabled = true; weapon.Entity.RemoveComponentIfPresent <DetachedWeaponComponent>(); }
public void ConfigureTargetBehaviour(NodeAddedEvent e, TankIncarnationNode tankIncarnation, [JoinByTank, Context] ActivatedAssembledTankNode activatedTank) { activatedTank.tankVisualRoot.gameObject.GetComponent <TargetBehaviour>().Init(activatedTank.Entity, tankIncarnation.Entity); activatedTank.rigidbody.Rigidbody.gameObject.GetComponent <TargetBehaviour>().Init(activatedTank.Entity, tankIncarnation.Entity); }
public void DeleteNameplateOnReincarnation(NodeRemoveEvent e, TankIncarnationNode tank, [JoinByTank] SingleNode <NameplateComponent> nameplate) { Object.Destroy(nameplate.component.gameObject); }
public void ResetLocalMagazineStorage(NodeAddedEvent evt, LocalHammerMagazineNode weapon, [JoinByTank, Context] TankIncarnationNode tank) { weapon.magazineLocalStorage.CurrentCartridgeCount = weapon.magazineWeapon.MaxCartridgeCount; }
public void ClearShaderBlockersComponent(NodeRemoveEvent e, TankIncarnationNode tankIncarnation, [JoinByTank] TankNode tank) { tank.tankOpaqueShaderBlockers.Blockers.Clear(); }
public void SetStartMaterials(NodeAddedEvent e, TankIncarnationNode incarnation, [Combine, Context, JoinByTank] RendererReadyForShowingNode renderer) { this.SetStartMaterials(renderer); }
public void Reset(NodeAddedEvent e, TankIncarnationNode tankIncarnation, [JoinByTank] SingleNode <DetachedWeaponComponent> weapon) { weapon.Entity.RemoveComponent <DetachedWeaponComponent>(); }
public void Reset(NodeAddedEvent e, TankIncarnationNode incarnation, [JoinByTank] InitializedWeaponNode weapon) { weapon.doubleDamageEffect.Reset(); }
public void ResetEffectOnTankIncarnation(NodeRemoveEvent e, TankIncarnationNode tankIncarnation, [JoinByTank] InitializedTankInvisibilityEffectNode tank) { tank.tankInvisibilityEffectUnity.ResetEffect(); }
public void OnReset(NodeAddedEvent e, TankIncarnationNode incarnation, [JoinByTank] TankNode tankNode) { tankNode.tankMovementSender.LastSentMovementTime = 0.0; }
public void AcceptTankIncarnation(NodeAddedEvent e, SelfTankNode selfTank, [JoinByTank, Context] TankIncarnationNode tankIncarnation) { tankIncarnation.Entity.AddComponent <TankClientIncarnationComponent>(); }
public void OnTankSpawn(NodeAddedEvent e, TankIncarnationNode selfTank, [JoinByTank] WeaponNode weapon) { weapon.weaponRotationControl.MouseRotationCumulativeHorizontalAngle = 0f; }
public void ReleaseEffectsOnDeath(NodeRemoveEvent e, TankIncarnationNode tankIncarnation, [JoinByTank] TankWithEffectsNode tank, [JoinAll] SingleNode <MapInstanceComponent> map) {
public void Clean(NodeRemoveEvent e, TankIncarnationNode tankIncarnation, [JoinByTank] SingleNode <SelfTankReadyForCameraComponent> tank) { tank.Entity.RemoveComponent <SelfTankReadyForCameraComponent>(); }
public void DetachHUDEffectInstance(NodeRemoveEvent e, TankIncarnationNode tankIncarnation, [JoinByTank, Combine] SingleNode <SelfTargetHitFeedbackHUDInstanceComponent> effect) { tankIncarnation.tankGroup.Detach(effect.Entity); }