Ejemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="obj">Объект, которым управляем</param>
        /// <param name="target">Цель</param>
        //public RotateTo(UGameObjectBase u, ICoordinateProvider target, string name) : base(u, name)
        //{
        //    Target = target;
        //}

        public RotateTo(ITargetProvider target, double modifier)
        {
            ModifierValue = modifier;

            tarPr    = target;
            Modifier = 1;
        }
Ejemplo n.º 2
0
 public ShootWhenAimed(ITargetProvider obj, string shellname, List <UGameObjectBase> g, double precision = 3)
 {
     tarPr     = obj;
     ShellName = shellname;
     G         = g;
     Precision = precision;
 }
Ejemplo n.º 3
0
        public static TargetingInterceptor Create(ITargetProvider threadLocalProvider)
        {
            TargetingInterceptor interceptor = new TargetingInterceptor();

            interceptor.TargetProvider = threadLocalProvider;
            return(interceptor);
        }
        protected override void InitComponent()
        {
            Stats.GetStat(Stat.Type.Turret_Speed).SetNameAndDesc("Speed", "The speed of which this rotator rotates.");
            Stats.GetStat(Stat.Type.Turret_Strength).SetNameAndDesc("Carry Capacity", "The amount of weight this rotator is capable of carrying.");

            _targetProvider = transform.parent.GetComponentInParent <ITargetProvider>();
        }
 public override void Init()
 {
     Targeter = GetComponentInParent <ITargeter>();
     Provider = GetComponentInParent <ITargetProvider>();
     Ranger   = GetComponentInParent <IRanger>();
     UpdateStats();
 }
Ejemplo n.º 6
0
 public TakeDamageUseCase(
     IDamageProvider damageProvider,
     ITargetProvider targetProvider)
 {
     _damageProvider = damageProvider;
     _targetProvider = targetProvider;
 }
Ejemplo n.º 7
0
 public DamageCalculationUseCase(
     IDamageRegister damageRegister,
     ITargetProvider targetProvider)
 {
     _damageRegister = damageRegister;
     _targetProvider = targetProvider;
 }
Ejemplo n.º 8
0
        public override void Init()
        {
            _targetProvider = GetComponentInParent <ITargetProvider>();
            _targeter       = GetComponentInParent <ITargeter>();

            _beamStart          = transform.Find("BeamStart");
            _beam               = transform.Find("Beam").GetComponent <LineRenderer>();
            _particleForceField = GetComponentInChildren <ParticleSystemForceField>();
        }
        public async Task Export(ISourceProvider source, ITargetProvider target)
        {
            do
            {
                var workItems = await source.GetWorkItems();

                await target.SaveWorkItems(workItems);
            }while (source.HasMoreWorkItems());
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Processes updated TargetInfos</summary>
 /// <param name="targetProvider">The data provider</param>
 /// <param name="targets">A sequence of targets</param>
 public void TargetsChanged(ITargetProvider targetProvider, IEnumerable <TargetInfo> targets)
 {
     // This needs to be thread safe in case it happens on a background or network processing thread.
     // If the MainForm isn't even set up yet, however, assume we're still running single threaded at
     // startup and processing intial settings.  In that case, just go ahead and deliver the information
     // directly.
     if (MainForm == null || !MainForm.IsHandleCreated || MainForm.IsDisposed)
     {
         UpdateTargetsView(targetProvider, targets);
     }
     else
     {
         MainForm.Invoke(new MethodInvoker(() => UpdateTargetsView(targetProvider, targets)));
     }
 }
Ejemplo n.º 11
0
 public PhaseFinalizeUseCase(
     IPhaseRegister phaseRegister,
     IDamageProvider damageProvider,
     ICurrentSkillModel skillModel,
     IMoveHandler moveHandler,
     ITurnCharacterProvider turnCharacter,
     ITargetProvider targetProvider)
 {
     _phaseRegister  = phaseRegister;
     _damageProvider = damageProvider;
     _skillModel     = skillModel;
     _moveHandler    = moveHandler;
     _turnCharacter  = turnCharacter;
     _targetProvider = targetProvider;
 }
Ejemplo n.º 12
0
 public override void Init(IUnit unit)
 {
     base.Init(unit);
     m_Unit = unit;
     if (unit is UnitEnemy)
     {
         //unit.GameObject.GetComponent<ITargetable>();
     }
     m_SearchTimer = m_SearchRate;
     m_EffectTimer = m_EffectRate;
     m_Targetter   = m_TargetterPrefab.Value.Instantiate <ITargetProvider>();
     m_Targetter.GameObject.transform.parent        = unit.TargetPoint;
     m_Targetter.GameObject.transform.localPosition = Vector3.zero;
     m_Targetter.GameObject.transform.localScale    = Vector3.one;
     m_Targetter.OnTargetEnterRange += OnTargetEnterRange;
     m_Targetter.OnTargetExitRange  += OnTargetExitRange;
     if (m_Targetter is ITargetProviderDesign design)
     {
         design.OnTargetDrawGizmos += OnTargetDrawGizmos;
     }
 }
        /// <summary>
        /// Updates target view for the given target provider with its updated targets</summary>
        /// <param name="targetProvider">Target provider</param>
        /// <param name="targets">Enumeration of targets</param>
        private void UpdateTargetsView(ITargetProvider targetProvider, IEnumerable<TargetInfo> targets)
        {
            var itemsToAdd = new List<TargetInfo>();
            var itemsToRemove = new List<TargetInfo>();
            var itemsToSelect = new List<TargetInfo>();
            m_providerTargets.Remove(targetProvider); // clear cached targets of the given provider

            // add new targets
            foreach (var target in targets)
            {
                m_providerTargets.Add(targetProvider, target);
                if (!m_targets.Contains(target))
                    itemsToAdd.Add(target);
            }

            if (itemsToAdd.Count > 3)
                m_targets.AddRange(itemsToAdd);
            else
            {
                foreach (var item in itemsToAdd)
                    m_targets.Add(item);
            }
 
            // scan new targets to select, remove obsolete targets that no longer belong to any provider      
            foreach ( var target in m_targets)
            {
                bool toRemove = true;
                
                foreach (var provider in m_providerTargets.Keys)
                {
                    if (m_providerTargets.ContainsKeyValue(provider, target))
                        toRemove = false;

                    var matchdItem=  m_targetsToSelect.FirstOrDefault(
                        n => n.Scope == target.Scope && n.Protocol == target.Protocol &&
                             n.Name == target.Name && n.Endpoint == target.Endpoint);
                    if (matchdItem != null)
                    {
                        itemsToSelect.Add(target);
                        m_targetsToSelect.Remove(matchdItem);
                    }
                }
                if (toRemove)
                    itemsToRemove.Add(target);
            }

            foreach (var item in itemsToRemove)
                m_targets.Remove(item);
            if (itemsToRemove.Count >0)
                m_listView.Refresh();
            
            if (itemsToSelect.Count >0)
                ListViewSelectTargets(itemsToSelect, true);
        }
 /// <summary>
 /// Processes updated TargetInfos</summary>
 /// <param name="targetProvider">The data provider</param>
 /// <param name="targets">A sequence of targets</param>
 public void TargetsChanged(ITargetProvider targetProvider, IEnumerable<TargetInfo> targets)
 {
     // This needs to be thread safe in case it happens on a background or network processing thread.
     // If the MainForm isn't even set up yet, however, assume we're still running single threaded at
     // startup and processing intial settings.  In that case, just go ahead and deliver the information
     // directly.
     if (MainForm == null || !MainForm.IsHandleCreated || MainForm.IsDisposed)
     {
         UpdateTargetsView(targetProvider, targets);
     }
     else
     {
         MainForm.Invoke(new MethodInvoker(() => UpdateTargetsView(targetProvider, targets)));
     }       
 }
Ejemplo n.º 15
0
 public override void Init()
 {
     TargetProvider = GetComponentInParent <ITargetProvider>();
     _startingAngle = transform.eulerAngles.z;
 }
Ejemplo n.º 16
0
        /// <summary>
        /// Updates target view for the given target provider with its updated targets</summary>
        /// <param name="targetProvider">Target provider</param>
        /// <param name="targets">Enumeration of targets</param>
        private void UpdateTargetsView(ITargetProvider targetProvider, IEnumerable <TargetInfo> targets)
        {
            var itemsToAdd    = new List <TargetInfo>();
            var itemsToRemove = new List <TargetInfo>();
            var itemsToSelect = new List <TargetInfo>();

            m_providerTargets.Remove(targetProvider); // clear cached targets of the given provider

            // add new targets
            foreach (var target in targets)
            {
                m_providerTargets.Add(targetProvider, target);
                if (!m_targets.Contains(target))
                {
                    itemsToAdd.Add(target);
                }
            }

            if (itemsToAdd.Count > 3)
            {
                m_targets.AddRange(itemsToAdd);
            }
            else
            {
                foreach (var item in itemsToAdd)
                {
                    m_targets.Add(item);
                }
            }

            // scan new targets to select, remove obsolete targets that no longer belong to any provider
            foreach (var target in m_targets)
            {
                bool toRemove = true;

                foreach (var provider in m_providerTargets.Keys)
                {
                    if (m_providerTargets.ContainsKeyValue(provider, target))
                    {
                        toRemove = false;
                    }

                    var matchdItem = m_targetsToSelect.FirstOrDefault(
                        n => n.Scope == target.Scope && n.Protocol == target.Protocol &&
                        n.Name == target.Name && n.Endpoint == target.Endpoint);
                    if (matchdItem != null)
                    {
                        itemsToSelect.Add(target);
                        m_targetsToSelect.Remove(matchdItem);
                    }
                }
                if (toRemove)
                {
                    itemsToRemove.Add(target);
                }
            }

            foreach (var item in itemsToRemove)
            {
                m_targets.Remove(item);
            }
            if (itemsToRemove.Count > 0)
            {
                m_listView.Refresh();
            }

            if (itemsToSelect.Count > 0)
            {
                ListViewSelectTargets(itemsToSelect, true);
            }
        }
        public static void Main(string[] args)
        {
            ISourceProvider sourceProvider = null;
            ITargetProvider targetProvider = null;

            var parser = new Parser(settings =>
            {
                settings.IgnoreUnknownArguments = true;
                settings.HelpWriter             = Parser.Default.Settings.HelpWriter;
            });

            var options = new Options();

            if (parser.ParseArguments(args, options))
            {
                switch (options.SourceProvider)
                {
                case "VstsRest":
                {
                    var providerOptions = new VstsRestSourceProviderOptions();
                    if (parser.ParseArguments(args, providerOptions))
                    {
                        sourceProvider = new VstsRestSourceProvider(providerOptions);
                    }
                    break;
                }

                case "JsonFile":
                {
                    var providerOptions = new JsonFileSourceProviderOptions();
                    if (parser.ParseArguments(args, providerOptions))
                    {
                        sourceProvider = new JsonFileSourceProvider(providerOptions);
                    }
                    else
                    {
                    }
                    break;
                }

                default:
                    Console.Error.WriteLine("Invalid sourceProvider");
                    break;
                }

                if (sourceProvider == null)
                {
                    return;
                }

                switch (options.TargetProvider)
                {
                case "SQLite":
                {
                    var providerOptions = new SQLiteTargetProviderOptions();
                    if (parser.ParseArguments(args, providerOptions))
                    {
                        targetProvider = new SQLiteTargetProvider(providerOptions);
                    }
                    break;
                }

                case "JsonFile":
                {
                    var providerOptions = new JsonFileTargetProviderOptions();
                    if (parser.ParseArguments(args, providerOptions))
                    {
                        targetProvider = new JsonFileTargetProvider(providerOptions);
                    }
                    break;
                }

                default:
                    Console.Error.WriteLine("Invalid targetProvider");
                    break;
                }

                if (targetProvider == null)
                {
                    return;
                }
            }

            if (sourceProvider != null && targetProvider != null)
            {
                Task.Run(async() =>
                {
                    var runtime = new ReportingRuntime();
                    await runtime.Export(sourceProvider, targetProvider);
                }).Wait();
            }
        }
Ejemplo n.º 18
0
 public void SetProvider(ITargetProvider providerParam) {
     provider = providerParam;
 }
Ejemplo n.º 19
0
 void Start()
 {
     _controllable   = GetComponent <IControllable>();
     _targetProvider = GetComponent <ITargetProvider>();
 }
Ejemplo n.º 20
0
 public VentTargetProviderBuilder AddTargetProvider(ITargetProvider targetProvider)
 {
     return(new VentTargetProviderBuilder(this));
 }