/// <summary>returns true if any of the specified units are looking within the specified number of degrees of the flag.</summary>
        public bool objects_can_see_flag(IGameObject entity, ILocationFlag locationFlag, float degrees)
        {
            if (entity == null || locationFlag == null)
            {
                return(false);
            }

            return(ObjectCanSeePoint(entity, locationFlag.Position, degrees));
        }
        /// <summary>returns minimum distance from any of the specified objects to the specified flag. (returns -1 if there are no objects, or no flag, to check)</summary>
        public float objects_distance_to_flag(IGameObject entity, ILocationFlag locationFlag)
        {
            if (locationFlag == null || entity == null)
            {
                return(-1);
            }

            return(Vector3.Distance(entity.Position, locationFlag.Position));
        }
        /// <summary>moves the specified object to the specified flag.</summary>
        public void object_teleport(IGameObject entity, ILocationFlag cutscene_flag)
        {
            if (entity == null || cutscene_flag == null)
            {
                return;
            }

            entity.TeleportTo(cutscene_flag.Position);
        }
        /// <summary>returns minimum distance from any of the specified objects to the specified flag. (returns -1 if there are no objects, or no flag, to check)</summary>
        public float objects_distance_to_flag(GameObjectList list, ILocationFlag locationFlag)
        {
            if (list == default || list.Objects.Length == 0 || locationFlag == null)
            {
                return(-1);
            }

            var test = locationFlag.Position;
            var min  = float.MaxValue;

            foreach (var e in list.Objects)
            {
                min = MathF.Min(Vector3.Distance(e.Position, test), min);
            }

            return(min);
        }
        /// <summary>returns true if any of the specified units are looking within the specified number of degrees of the flag.</summary>
        public bool objects_can_see_flag(GameObjectList list, ILocationFlag locationFlag, float degrees)
        {
            if (list == default || locationFlag == null)
            {
                return(false);
            }

            foreach (var entity in list.Objects)
            {
                if (ObjectCanSeePoint(entity, locationFlag.Position, degrees))
                {
                    return(true);
                }
            }

            return(false);
        }
Beispiel #6
0
 /// <summary>predict resources at a frame in camera animation.</summary>
 public void camera_predict_resources_at_frame(AnimationGraphTag animation, string /*id*/ emotion, IUnit unit, ILocationFlag locationFlag, int intValue)
 {
 }
Beispiel #7
0
        public void PerformCameraMove(AnimationGraphTag animationTag, string trackName, IUnit unit, ILocationFlag locationFlag)
        {
            var animation = animationTag.Animations.FirstOrDefault(t => t.Description == trackName);

            if (animation != null)
            {
                this.cameraMoveTicks = animation.FrameCount;
            }
        }
Beispiel #8
0
 /// <summary>moves all players outside a specified trigger volume to a specified flag.</summary>
 public void volume_teleport_players_not_inside(ITriggerVolume trigger_volume, ILocationFlag cutscene_flag)
 {
 }
Beispiel #9
0
 /// <summary>activates a nav point type <string> attached to a team anchored to a flag with a vertical offset <real>. If the player is not local to the machine, this will fail</summary>
 public void activate_team_nav_point_flag(INavigationPoint navpoint, ITeam team, ILocationFlag cutscene_flag, float real)
 {
 }
Beispiel #10
0
 /// <summary>starts the specified effect at the specified flag.</summary>
 public void effect_new(EffectTag effect, ILocationFlag cutscene_flag)
 {
 }
Beispiel #11
0
 /// <summary>deactivates a nav point type attached to a team anchored to a flag</summary>
 public void deactivate_team_nav_point_flag(ITeam team, ILocationFlag cutscene_flag)
 {
 }
Beispiel #12
0
 /// <summary>causes the specified damage at the specified flag.</summary>
 public void damage_new(DamageEffectTag damage, ILocationFlag cutscene_flag)
 {
 }
Beispiel #13
0
 /// <summary>begins a prerecorded camera animation synchronized to unit relative to cutscene flag.</summary>
 public void camera_set_animation_relative(AnimationGraphTag animationTag, string trackName, IUnit unit, ILocationFlag locationFlag)
 {
     this.cameraSystem.PerformCameraMove(animationTag, trackName, unit, locationFlag);
 }