Example #1
0
        public static ForceFieldTranformComponent GetTransformComponent(Transform weaponTransform)
        {
            RaycastHit hit;
            Quaternion quaternion = Quaternion.Euler(0f, weaponTransform.rotation.eulerAngles.y, 0f);

            if (!HitToTheGround(weaponTransform, out hit))
            {
                ForceFieldTranformComponent component = new ForceFieldTranformComponent();
                Movement movement = new Movement {
                    Position    = GetPositionInFrontOfWeapon(weaponTransform),
                    Orientation = quaternion
                };
                component.Movement = movement;
                return(component);
            }
            Movement movement3 = new Movement {
                Position    = hit.point,
                Orientation = Quaternion.FromToRotation(Vector3.up, hit.normal) * quaternion
            };

            return(new ForceFieldTranformComponent {
                Movement = movement3
            });
        }
Example #2
0
        public void FindLocation(NodeAddedEvent e, ForceFieldEffectNode effect, [Context, JoinByTank] SelfWeaponNode weaponNode)
        {
            ForceFieldTranformComponent transformComponent = ForceFieldTransformUtil.GetTransformComponent(weaponNode.weaponInstance.WeaponInstance.transform);

            effect.Entity.AddComponent(transformComponent);
        }