Esempio n. 1
0
    void Start()
    {
        findTarget  = GetComponent <FindTarget>();
        shootTarget = GetComponent <ShootTarget>();

        List <GameObject> nearbyEnemies = EnemySpawner.nearbyEnemies;

        findTarget.NearbyEnemies  = nearbyEnemies;
        shootTarget.NearbyEnemies = nearbyEnemies;
    }
 void Update()
 {
     if (GlobalVariables.inputArrayChanged)
     {
         target = FindTarget.findTarget();
         if (GlobalVariables.launchPermission)
         {
             SpawnObject();
         }
     }
 }
Esempio n. 3
0
 void Start()
 {
     movement       = GetComponent <Movement>();
     searchBehavior = GetComponent <FindTarget>();
     gm             = GameObject.Find("GlobalManager").GetComponent <GlobalManager>();
     ds             = GameObject.Find("PlayerCanvas").GetComponent <DialogueSystem>();
     player         = GameObject.FindGameObjectWithTag("Player");
     currentState   = npcState.Idle;
     isBusy         = false;
     nameTitle      = Instantiate(nameTitle, transform.position + Vector3.up, Quaternion.identity) as GameObject;
     nameTitle.GetComponent <TextMesh>().text = gameObject.name;
 }
Esempio n. 4
0
            public void SetTarget(FindTarget findTarget)
            {
                string selectLookIn;

                switch (findTarget)
                {
                case FindTarget.CurrentDocument: selectLookIn = Labels.CurrentDocument; break;

                case FindTarget.AllOpenDocuments: selectLookIn = Labels.AllOpenDocuments; break;

                default: selectLookIn = Labels.EntireProject; break;
                }

                _form._lookIn.SelectedItem = selectLookIn;
            }
Esempio n. 5
0
        protected override void OnUpdate()
        {
            NativeArray <Translation> AllEnemiPos = EnemiQuery.ToComponentDataArray <Translation>(Allocator.TempJob);
            NativeArray <Translation> AllUnitPos  = UnitQuery.ToComponentDataArray <Translation>(Allocator.TempJob);

            var job = new FindTarget()
            {
                U_positions         = AllUnitPos,
                entityCommandBuffer = endSimulationEntityCommandBufferSystem.CreateCommandBuffer().ToConcurrent(),
                //E_positions = AllEnemiPos
            };
            JobHandle dependency = job.Schedule(EnemiQuery);



            endSimulationEntityCommandBufferSystem.AddJobHandleForProducer(dependency);
            dependency.Complete();

            for (int i = 0; i < AllUnitPos.Length; i++)
            {
                for (int j = 0; j < AllEnemiPos.Length; j++)
                {
                    //   if (Time.DeltaTime > nextShootTime)
                    // {
                    if (math.distance(AllEnemiPos[j].Value, AllUnitPos[i].Value) < 18f)
                    {
                        CustomEntity.SpawnEntityAtPosition(typeof(Projectiles), AllEnemiPos[j].Value);
                        //float fireRate = .03f;
                        //nextShootTime = Time.DeltaTime + fireRate;
                    }
                    // }
                }
            }

            var job2 = new FindCible()
            {
                U_positions         = AllUnitPos,
                entityCommandBuffer = E_endSimulationEntityCommandBufferSystem.CreateCommandBuffer().ToConcurrent(),
            };
            JobHandle dependency2 = job2.Schedule(ProjectileQuery);

            E_endSimulationEntityCommandBufferSystem.AddJobHandleForProducer(dependency2);
            dependency2.Complete();
            AllUnitPos.Dispose(dependency2);
            AllEnemiPos.Dispose();
        }
Esempio n. 6
0
    public void ChangeFind(FindTarget target, UnityAction <Vector3?> origin = null)
    {
        findForOrigin = origin;
        if (findType != null)
        {
            StopCoroutine(findType);
        }
        switch (target)
        {
        case FindTarget.Select:
            findType = StandartFind();
            break;

        case FindTarget.Point:
            findType = PointFind();
            break;

        default:
            break;
        }

        StartCoroutine(findType);
    }
Esempio n. 7
0
 public void SetTarget(FindTarget findTarget)
 {
 }
 private void Start()
 {
     findTarget = GetComponent <FindTarget>();
 }
Esempio n. 9
0
 // Use this for initialization
 void Start()
 {
     ft       = GetComponentInParent <FindTarget>();
     scStatus = GetComponentInParent <Status>();
 }
Esempio n. 10
0
 void Start()
 {
     ship       = GetComponent <ShipAI> ();
     findScript = GetComponent <FindTarget>();
 }
Esempio n. 11
0
            public void SetTarget(FindTarget findTarget)
            {
                string selectLookIn;

                switch (findTarget)
                {
                    case FindTarget.CurrentDocument: selectLookIn = Labels.CurrentDocument; break;
                    case FindTarget.AllOpenDocuments: selectLookIn = Labels.AllOpenDocuments; break;
                    default: selectLookIn = Labels.EntireProject; break;
                }

                _form._lookIn.SelectedItem = selectLookIn;
            }
Esempio n. 12
0
        protected override void OnUpdate()
        {
            Entities.WithNone <SpawnEntityState>().ForEach((Entity entity, ref SpawnFleet spawnFleet, ref WeaponStats weaponStats) =>
            {
                SharedFleetGrouping sharedFleetGrouping;
                if (!m_SharedFleetGroupingMap.TryGetValue(spawnFleet.FleetID, out sharedFleetGrouping))
                {
                    sharedFleetGrouping = new SharedFleetGrouping()
                    {
                        ID = spawnFleet.FleetID
                    };
                    m_SharedFleetGroupingMap.Add(spawnFleet.FleetID, sharedFleetGrouping);
                }

                var ship = new Ship()
                {
                    ID = spawnFleet.ShipID, FleetID = spawnFleet.FleetID
                };
                var deploy = new InitialDeploy()
                {
                    FleetID = spawnFleet.FleetID
                };
                var translation = new Translation()
                {
                    Value = new float3(100, 0, 100)
                };
                var rotation = new Rotation()
                {
                    Value = quaternion.identity
                };
                var moveSpeed    = default(Velocity);
                var rotateSpeed  = default(AngularVelocity);
                var localToWorld = new LocalToWorld();
                var findTarget   = new FindTarget()
                {
                    FoundEntity = Entity.Null
                };
                var movementStats = new MovementStats()
                {
                    TopSpeed        = spawnFleet.TopSpeed,
                    Acceleration    = spawnFleet.Acceleration,
                    Deceleration    = spawnFleet.Deceleration,
                    RotationSpeed   = spawnFleet.RotationSpeed,
                    ThrustTolerance = spawnFleet.ThrustTolerance,
                    MaxSpeedToTurn  = spawnFleet.MaxSpeedToTurn,
                    DoesSwarm       = spawnFleet.DoesSwarm
                };

                var newWeaponStats = weaponStats;                 // This might not be needed, can maybe add component directly if added by value.

                //var swarmCombatMovement = default(SwarmMovement);
                //var rangedCombatMovement = new RangedMovement()
                //{
                //    // Grab stats from weapon data and square them for later calculations.
                //    MinRangeSq = weaponStats.MinRange * weaponStats.MinRange,
                //    MaxRangeSq = weaponStats.MaxRange * weaponStats.MaxRange,
                //    OptimalRangeSq = weaponStats.OptimalRange * weaponStats.OptimalRange

                //};

                if (spawnFleet.ShipCount > 0)
                {
                    var shipEntities = new NativeArray <Entity>(spawnFleet.ShipCount * spawnFleet.SquadSize, Allocator.Temp);

                    var ent = EntityManager.CreateEntity();
                    {
                        // do this once only.
                        EntityManager.AddComponent <Ship>(ent);
                        EntityManager.AddComponent <MovementStats>(ent);
                        EntityManager.AddComponent <LocalToWorld>(ent);
                        EntityManager.AddComponent <Translation>(ent);
                        EntityManager.AddComponent <Rotation>(ent);
                        EntityManager.AddComponent <Velocity>(ent);
                        EntityManager.AddComponent <AngularVelocity>(ent);
                        EntityManager.AddComponent <FindTarget>(ent);
                        EntityManager.AddComponent <InitialDeploy>(ent);
                        EntityManager.AddComponent <WeaponStats>(ent);

                        EntityManager.AddSharedComponentData(ent, sharedFleetGrouping);

                        EntityManager.SetComponentData(ent, ship);
                        EntityManager.SetComponentData(ent, movementStats);
                        EntityManager.SetComponentData(ent, localToWorld);
                        EntityManager.SetComponentData(ent, translation);
                        EntityManager.SetComponentData(ent, rotation);
                        EntityManager.SetComponentData(ent, moveSpeed);
                        EntityManager.SetComponentData(ent, rotateSpeed);
                        EntityManager.SetComponentData(ent, deploy);
                        EntityManager.SetComponentData(ent, findTarget);
                        EntityManager.SetComponentData(ent, weaponStats);
                    }

                    // apply the above to all spawned entities.
                    EntityManager.Instantiate(ent, shipEntities);

                    EntityManager.DestroyEntity(ent);

                    var index = 0;
                    for (var i = 0; i < spawnFleet.ShipCount; i++)
                    {
                        SharedSquadGrouping sharedSquadGrouping = new SharedSquadGrouping();
                        if (spawnFleet.SquadSize > 1)
                        {
                            sharedSquadGrouping.ID = GetHashCode();
                        }

                        for (var j = 0; j < spawnFleet.SquadSize; j++)
                        {
                            ship.InstanceID = index;

                            //if (spawnFleet.DoesSwarm)
                            //{
                            //	PostUpdateCommands.AddComponent(shipEntities[index], swarmCombatMovement);
                            //}
                            //else
                            //{
                            //	PostUpdateCommands.AddComponent(shipEntities[index], rangedCombatMovement);
                            //}

                            if (spawnFleet.SquadSize > 1)
                            {
                                PostUpdateCommands.AddSharedComponent(shipEntities[index], sharedSquadGrouping);
                            }

                            index++;
                        }
                    }

                    shipEntities.Dispose();
                }

                PostUpdateCommands.AddComponent(entity, default(SpawnEntityState));
                PostUpdateCommands.DestroyEntity(entity);
            });
        }
Esempio n. 13
0
 public void SetTarget(FindTarget findTarget)
 {
 }