Esempio n. 1
0
    public void SpawnAlertForEntity(EntitySystem.Entity entity, AlertBehavior behavior, float priority = 1f)
    {
        if (behavior == null)
        {
            return;
        }

        // Limit messages if screen is getting too noisy, but still pass along high priorty messages.
        if (Random.Range(0f, alertNoise) < 1f || priority > 3f)
        {
            if (individualChannelNoise.ContainsKey(entity))
            {
                if (individualChannelNoise[entity] > priority)
                {
                    return; // channel noisier than priority
                }
                FinallySpawn(entity, behavior);
            }
            else
            {
                toAdd.Add(new NotifyData()
                {
                    entity = entity, behavior = behavior
                });
            }
        }
    }
Esempio n. 2
0
 /// <summary>
 /// Expects an existing entity to be placed upon in 3D.
 /// </summary>
 /// <param name="target">Target Entity.</param>
 /// <param name="resolution">Resolution of UI texture in 3D space.</param>
 public bool SetupTargetEntity(EntitySystem.Entity target, int resolution = 768)
 {
     byte[] data = new byte[resolution * resolution * 4];
     TargetTexture = new UITexture(resolution, resolution, data, true, false, true);
     target.Material.SetTexture(TargetTexture.ID);
     TargetEntity = target;
     return(true);
 }
Esempio n. 3
0
    private void FinallySpawn(EntitySystem.Entity entity, AlertBehavior behavior)
    {
        if (behavior == null || behavior.gameObject == null || entity == null)
        {
            return;
        }

        GameObject clone = Instantiate(behavior.gameObject, entity.transform.position, Quaternion.identity);

        clone.GetComponent <AlertBehavior>().playerCam = playerCam;
        alertNoise += 0.2f;
        individualChannelNoise[entity] += 1;
    }
Esempio n. 4
0
 public void UnregisterEntity(EntitySystem.Entity entity)
 {
     entities.Remove(entity);
 }
Esempio n. 5
0
 public void RegisterEntity(EntitySystem.Entity entity)
 {
     entities.Add(entity);
 }