コード例 #1
0
        public MyDroneStrafeBehaviour(MyRemoteControl remoteControl, string presetName, bool activate, List <MyEntity> waypoints, List <DroneTarget> targets, int playerPriority, TargetPrioritization prioritizationStyle, float maxPlayerDistance, bool cycleWaypoints)
        {
            m_remoteControl  = remoteControl;
            m_returnPosition = m_remoteControl.PositionComp.GetPosition();

            MySpaceStrafeData strafeData = MySpaceStrafeDataStatic.LoadPreset(presetName);

            m_currentPreset = presetName;
            LoadStrafeData(strafeData);

            m_lastTargetUpdate      = MySandboxGame.TotalGamePlayTimeInMilliseconds;
            m_lastWeaponUpdate      = m_lastTargetUpdate;
            m_waypointReachedTimeMs = m_lastTargetUpdate;
            m_forcedWaypoints       = waypoints != null ? waypoints : new List <MyEntity>();
            m_targetsList           = targets != null ? targets : new List <DroneTarget>();
            PlayerPriority          = playerPriority;
            m_prioritizationStyle   = prioritizationStyle;
            MaxPlayerDistance       = maxPlayerDistance;
            m_cycleWaypoints        = cycleWaypoints;

            NeedUpdate = activate;
        }
コード例 #2
0
        public void Load(MyObjectBuilder_AutomaticBehaviour objectBuilder, MyRemoteControl remoteControl)
        {
            MyObjectBuilder_DroneStrafeBehaviour builder = objectBuilder as MyObjectBuilder_DroneStrafeBehaviour;

            if (builder != null)
            {
                m_remoteControl = remoteControl;

                MySpaceStrafeData strafeData = MySpaceStrafeDataStatic.LoadPreset(builder.CurrentPreset);
                m_currentPreset = builder.CurrentPreset;
                LoadStrafeData(strafeData);

                m_lastTargetUpdate      = MySandboxGame.TotalGamePlayTimeInMilliseconds;
                m_lastWeaponUpdate      = m_lastTargetUpdate;
                m_waypointReachedTimeMs = m_lastTargetUpdate;

                m_forcedWaypoints   = new List <MyEntity>();
                m_loadWaypointList  = builder.WaypointList;
                m_targetsList       = new List <DroneTarget>();
                m_loadTargetList    = builder.TargetList;
                m_currentTarget     = null;
                m_loadCurrentTarget = builder.CurrentTarget;

                m_returnPosition              = builder.ReturnPosition;
                PlayerPriority                = builder.PlayerPriority;
                m_prioritizationStyle         = builder.PrioritizationStyle;
                MaxPlayerDistance             = builder.MaxPlayerDistance;
                m_cycleWaypoints              = builder.CycleWaypoints;
                m_alternativebehaviorSwitched = builder.AlternativebehaviorSwitched;
                CollisionAvoidance            = builder.CollisionAvoidance;
                m_canSkipWaypoint             = builder.CanSkipWaypoint;

                NeedUpdate     = builder.NeedUpdate;
                IsActive       = builder.IsActive;
                m_loadEntities = true;
            }
        }