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 }); } } }
/// <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); }
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; }
public void UnregisterEntity(EntitySystem.Entity entity) { entities.Remove(entity); }
public void RegisterEntity(EntitySystem.Entity entity) { entities.Add(entity); }