示例#1
0
        /// <summary>
        /// The mission engine pushes a new mission
        /// </summary>
        /// <param name="missionProgressUpdate"></param>
        /// <returns></returns>
        public void MissionNew(MissionProgressUpdate missionProgressUpdate)
        {
            var missionZoneProgress = ZoneMissionInProgress.CreateFromProgressUpdate(_zone, missionProgressUpdate);

            _runningMissions[missionProgressUpdate.missionId] = missionZoneProgress;

            var targets = missionZoneProgress.LoadZoneTargets(_zone.PresenceManager, _player);

            foreach (var missionTarget in targets)
            {
                _cachedMissionTargets.Add(missionTarget.Id, missionTarget);
            }
        }
示例#2
0
        /// <summary>
        /// Inits the missions.
        /// </summary>
        public void InitMissions()
        {
            foreach (var missionZoneInProgress in ZoneMissionInProgress.GetRunningMissionsSql(_zone, _player.Character.Id))
            {
                _runningMissions.Add(missionZoneInProgress.missionId, missionZoneInProgress);

                var targets = missionZoneInProgress.LoadZoneTargets(_zone.PresenceManager, _player).ToArray();

                foreach (var missionTarget in targets)
                {
                    _cachedMissionTargets.Add(missionTarget.Id, missionTarget);
                }
            }

            Logger.Info(_cachedMissionTargets.Count + " mission targets loaded for player:" + _player.Character.Id);
        }
 public SubmitItemZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress, ProgressCounter progressCounter)
     : base(zone, player, target, zoneMissionInProgress)
 {
     _progressCounter = progressCounter;
 }
 public DrillMineralZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress, ProgressCounter progressCounter)
     : base(zone, player, target, zoneMissionInProgress)
 {
     _progressCounter = progressCounter;
 }
 public HarvestPlantZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress, ProgressCounter progressCounter)
     : base(zone, player, target, zoneMissionInProgress)
 {
     _progressCounter = progressCounter;
 }
 public ScanContainerZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress, ProgressCounter progressCounter)
     : base(zone, player, target, zoneMissionInProgress)
 {
     _progressCounter = progressCounter;
 }
 public ScanMaterialZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress) : base(zone, player, target, zoneMissionInProgress)
 {
 }
 public PopNpcZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress, IPresenceManager presenceManager) : base(zone, player, target, zoneMissionInProgress)
 {
     _presenceManager = presenceManager;
 }
 public ReachPositionZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress) : base(zone, player, target, zoneMissionInProgress)
 {
 }
 public SummonNpcEggZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress) : base(zone, player, target, zoneMissionInProgress)
 {
 }
 public AlarmSwitchZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress) : base(zone, player, target, zoneMissionInProgress)
 {
 }