예제 #1
0
        public MissionTargetInProgress(MissionDataCache missionDataCache, DeliveryHelper.Factory deliveryHelperFactory, MissionInProgress missionInProgress, MissionTarget missionTarget)
        {
            _missionDataCache      = missionDataCache;
            _deliveryHelperFactory = deliveryHelperFactory;

            myMissionInProgress = missionInProgress;
            myTarget            = missionTarget;
        }
예제 #2
0
        public void CopyMyPrimaryDefinitionToTarget(MissionTarget destinationTarget)
        {
            //copy the parameters to the current target -> resolve the link
            if (destinationTarget.targetSecondaryAsMyPrimary)
            {
                //sanityCheck
                if (!ValidSecondaryDefinitionSet)
                {
                    Logger.Error("secondary definition is not set in linked target. " + destinationTarget + " linking as primary to " + this);
                    throw new PerpetuumException(ErrorCodes.ConsistencyError);
                }

                Log("copy def secondary->primary definition:" + SecondaryDefinition + " " + SecondaryEntityDefault.Name + " to " + destinationTarget);

                //nondefault behaviour
                destinationTarget.Definition = SecondaryDefinition;
            }
            else
            {
                if (useQuantityOnly)
                {
                    //this target does not specify definition
                    return;
                }

                //sanity check
                if (!ValidDefinitionSet)
                {
                    Logger.Error("primary definition is not set in linked target. " + destinationTarget + " linking as primary to " + this);
                    throw new PerpetuumException(ErrorCodes.ConsistencyError);
                }

                Log("copy def primary->primary definition:" + Definition + " " + PrimaryEntityDefault.Name + " to " + destinationTarget);

                //default
                destinationTarget.Definition = Definition;
            }
        }
예제 #3
0
        public void CopyMySecondaryDefinitionToTarget(MissionTarget destinationTarget)
        {
            if (destinationTarget.targetPrimaryAsMySecondary)
            {
                if (useQuantityOnly)
                {
                    return;
                }

                //sanity check
                if (!ValidDefinitionSet)
                {
                    Logger.Error("primary definition is not set in linked target. " + destinationTarget + " linking as secondary to " + this);
                    throw new PerpetuumException(ErrorCodes.ConsistencyError);
                }

                Log("copy def primary->secondary definition:" + Definition + " " + PrimaryEntityDefault.Name + " to " + destinationTarget);

                //switched
                destinationTarget.SecondaryDefinition = Definition;
            }
            else
            {
                //sanity check
                if (!ValidSecondaryDefinitionSet)
                {
                    Logger.Error("secondary definition is not set in linked target. " + destinationTarget + " linking as secondary to " + this);
                    throw new PerpetuumException(ErrorCodes.ConsistencyError);
                }

                Log("copy secondary->secondary definition:" + SecondaryDefinition + " " + SecondaryEntityDefault.Name + " to " + destinationTarget);

                //default
                destinationTarget.SecondaryDefinition = SecondaryDefinition;
            }
        }
예제 #4
0
 public double CalculateReward(MissionTarget target)
 {
     target.AcceptVisitor(this);
     return(_reward);
 }
예제 #5
0
 public override void Visit_MissionTarget(MissionTarget missionTarget)
 {
 }
예제 #6
0
 protected void CopyZoneInfo(MissionTarget selectedTarget)
 {
     targetPositionX    = selectedTarget.targetPosition.intX;
     targetPositionY    = selectedTarget.targetPosition.intY;
     targetPositionZone = selectedTarget.ZoneId;
 }
 public SubmitItemZoneTarget(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 DrillMineralZoneTarget(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 ScanContainerZoneTarget(IZone zone, Player player, MissionTarget target, ZoneMissionInProgress zoneMissionInProgress, ProgressCounter progressCounter)
     : base(zone, player, target, zoneMissionInProgress)
 {
     _progressCounter = progressCounter;
 }
 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)
 {
 }
 public virtual void Visit_MissionTarget(MissionTarget missionTarget)
 {
 }