private void Update(EvaluationContext context) { if (!CameraReference.IsConnected) { CameraReference.DirtyFlag.Clear(); return; } var obj = CameraReference.GetValue(context); if (obj == null) { Log.Warning("Camera reference is undefined"); return; } if (obj is not ICameraPropertiesProvider camera) { Log.Warning("Can't GetCamProperties from invalid reference type", SymbolChildId); return; } if (_previousBufferInitialized) { ResourceManager.Instance().SetupConstBuffer(_bufferContent, ref PreviousBuffer.Value); PreviousBuffer.Value.DebugName = nameof(TransformsConstBuffer); PreviousBuffer.DirtyFlag.Clear(); } _bufferContent = new TransformsConstBuffer.TransformBufferLayout(camera.CameraToClipSpace, camera.WorldToCamera, camera.LastObjectToWorld); ResourceManager.Instance().SetupConstBuffer(_bufferContent, ref Buffer.Value); Buffer.Value.DebugName = nameof(TransformsConstBuffer); _previousBufferInitialized = true; }
/// <inheritdoc /> public void Tick() { if (Input.GetMouseButtonDown(0)) { Ray ray = CameraReference.ScreenPointToRay(Input.mousePosition); //TODO: We should enumerate the layers //5 is UI right now. int resultCount = Physics.RaycastNonAlloc(ray, CachedHitResults, 1000.0f, 1 << 5); //5th if (resultCount == 0) { Debug.Log($"No clicked on entities"); return; } //Otherwise, we have some hits. Let's check them. //TODO: This is kind of slow. GameObject rootGameObject = CachedHitResults[0].transform.GetRootGameObject(); if (GameObjectToEntityMappable.ObjectToEntityMap.ContainsKey(rootGameObject)) { NetworkEntityGuid entity = GameObjectToEntityMappable.ObjectToEntityMap[rootGameObject]; //If we actually have interacted with an entity that is on the UI layer //then we need to dispatch the event. Debug.Log($"Clicked on Entity: {entity.EntityType}:{entity.EntityId}"); } else { Debug.Log($"No entity. Clicked on: {rootGameObject.name}"); } } }
// Use this for initialization void Start() { //To move to its postion respect to the player Vector3 idealPos = targetPlayer.position + idealOffset.x * targetPlayer.right + idealOffset.y * targetPlayer.up + idealOffset.z * targetPlayer.forward; transform.position = idealPos; //To look at the palyer targetPos = targetPlayer.TransformPoint(targetOffset); transform.LookAt(targetPos, targetPlayer.up); // currentTarget = targetPlayer; // TODO: Preferiría no hacerlo así // Puede dar problemas si metemos más de una cámara //cameraComponent = GetComponent<Camera>(); cameraComponent = FindObjectOfType <Camera>(); // inputManager = FindObjectOfType <InputManager>(); // //originalY = targetOffset.y; // //gameManager = FindObjectOfType<GameManager>(); // positionWithoutCorrection = transform.position; // cameraReference = FindObjectOfType <CameraReference>(); // Ojo con ele enemy analyzer // Al ser pasivo se puede quedar activado entre escenas EnemyAnalyzer.Release(); }
private void Awake() { if (Instance != null) { UnityEngine.Debug.LogError("Multiple CameraReferences detected"); } Instance = this; }
// Start is called before the first frame update protected virtual void Start() { player = FindObjectOfType <RobotControl>(); audioSource = GetComponent <AudioSource>(); levelManager = FindObjectOfType <ProvLevelManager>(); carolHelp = FindObjectOfType <CarolBaseHelp>(); cameraReference = FindObjectOfType <CameraReference>(); enemyManager = FindObjectOfType <EnemyManager>(); // if (carolStepObjects.Length > 0) { carolHelp.SetStepObjects(carolStepObjects); } }
private void Start() { sp = FindObjectOfType <SpringCamera>(); cr = FindObjectOfType <CameraReference>(); inputManager = FindObjectOfType <InputManager>(); }
public Bullet Execute(Transform player, out Vector2 dir) { dir = CameraReference.MouseVec(player.position); return(Execute(player, dir)); }