void Start() { if (!objectTarget) { GameObject go = new GameObject("Cam Target"); go.transform.position = transform.position + (transform.forward * distance); objectTarget = go.transform; } highlightedGObject = null; dictAtMaterialShader = new Dictionary <Material, string>(); dictAtChilds = new Dictionary <GameObject, Dictionary <Material, string> >(); dictLastMaterialShader = new Dictionary <Material, string>(); dictLastChilds = new Dictionary <GameObject, Dictionary <Material, string> >(); lastRenderer = null; atRenderer = null; distance = Vector3.Distance(transform.position, objectTarget.position); currentDistance = distance; desiredDistance = distance; //be sure to grab the current rotations as starting points. position = transform.position; rotation = transform.rotation; currentRotation = transform.rotation; desiredRotation = transform.rotation; xDeg = Vector3.Angle(Vector3.right, transform.right); yDeg = Vector3.Angle(Vector3.up, transform.up); targetState = TargetStates.Off; mode = PickerMode.Object; Debug.Log("RHS>>> " + this.name + " " + this.GetType() + " is ready."); }
private void Update() { if (Vector2.Distance(transform.position, Target.transform.position) <= _transitionRange) { NeedTransit = true; _targetState = TargetStates.Where(value => value is GoblinAttackState).First(); } }
private void Update() { if (GetComponent <GoblinSearchTargetState>().IsEndSearch) { NeedTransit = true; _targetState = TargetStates.Find(value => value is GoblinMoverState); } }
private void Update() { if (_elapsedTime > GetComponent <GoblinAttackState>().Dalay) { NeedTransit = true; _targetState = TargetStates.Find(value => value is GoblinSearchTargetState); } _elapsedTime += Time.deltaTime; }
private void Update() { bool isGap = Physics2D.Raycast(_gapCheck.position, Vector2.down, _distanceCheck, _whatIsGround); if (!isGap) { NeedTransit = true; _targetState = TargetStates.Find(value => value is GoblinJumpState); } }
public void chooseOnEnvironment() { if (targetState == TargetStates.Off) { targetState = TargetStates.Set; mode = PickerMode.Position; } else { highlightMode(); } }
/// <summary> /// Adds a new target state to the target state /// list if it isn't on the list already. /// </summary> /// <param name="targetState">A target state to /// be added to the target state list</param> /// <returns>Was the state added to the list</returns> public bool AddTransition(ScreenStateType targetState) { // Attempts to add a target state. // Will return false if the state was already added. if (TargetStates.Contains(targetState)) { return(false); } else { TargetStates.Add(targetState); return(true); } }
/// <summary> /// Checks if it is legal to go from this state to the target state. /// </summary> /// <param name="targetState">The target state to go to.</param> /// <returns>True, if the transition is legal, false otherwise.</returns> public virtual bool CheckTransition(AIStateType targetState) { return(TargetStates.Contains(targetState)); }
/// <summary> /// Removes a target state from TargetStates data structure. /// </summary> /// <param name="targetState">The state to be removed.</param> /// <returns>True, if the target state was succesfully removed from the /// data structure. False otherwise.</returns> public bool RemoveTransition(AIStateType targetState) { return(TargetStates.Remove(targetState)); }
/// <summary> /// Add a valid state to which we can go from this state. /// </summary> /// <param name="targetState">The target state</param> /// <returns>True, if the state was added succesfully (not present in our /// datastructure already). False otherwise.</returns> public bool AddTransition(AIStateType targetState) { // Use the extension method AddUnique to add a target state. Will return false // if the state was already added. return(TargetStates.AddUnique(targetState)); }
public void highlightMode() { targetState = TargetStates.Off; mode = PickerMode.Object; }
void Update() { if (GetComponent <Camera>().enabled) { if (targetState == TargetStates.Off) { targetPicker.gameObject.SetActive(false); } else { targetPicker.gameObject.SetActive(true); } if (mode == PickerMode.Object) { if (Input.GetMouseButtonDown(0)) { if (EventSystem.current.IsPointerOverGameObject()) { //print(EventSystem.current.currentSelectedGameObject == dropActions.gameObject); GameObject aux = EventSystem.current.currentSelectedGameObject; if (aux == null) { ray = GetComponent <Camera>().ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit)) { string itemName = hit.collider.gameObject.name; GameObject gO = hit.collider.gameObject; if (itemName.Contains("Collider", StringComparison.OrdinalIgnoreCase) || itemName.Contains("GameObject", StringComparison.OrdinalIgnoreCase)) { gO = hit.collider.transform.parent.gameObject; } highlightObject(gO); } } } } } else { //print(EventSystem.current.currentSelectedGameObject == dropActions.gameObject); GameObject aux = EventSystem.current.currentSelectedGameObject; if (aux == null) { if (targetState == TargetStates.Set) { Ray ray = GetComponent <Camera>().ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (!Physics.Raycast(ray, out hit)) { return; } targetPicker.position = hit.point + hit.normal * surfaceOffset; if (Input.GetMouseButtonDown(0)) { targetPickerPosition = targetPicker.position; targetState = TargetStates.Fixed; } } else if (targetState == TargetStates.Fixed) { if (Input.GetMouseButtonDown(0)) { targetState = TargetStates.Set; } } } } } else { resetHighlight(); } }
public bool AddTransition(AIStateType targetState) { return(TargetStates.AddUnique(targetState)); }
// Use this for initialization void Start() { gl = (GameLogic)FindObjectOfType(typeof(GameLogic)); origin = transform.position; targetState = Target.TargetStates.waiting; }
private string BuildResponseMessage(ChangePortStateRequest[] changePortStateRequests, TargetStates targetState) { string activatedWord = "ligado"; string activatedWordPlus = "ligados"; string deactivatedWord = "desligado"; string deactivatedWordPlus = "desligados"; string willWord = "será"; string willWordPlus = "serão"; string inCurrentState = "estava"; string inCurrentStatePlus = "estavam"; var changed = changePortStateRequests.Where(p => p.StateChanged).ToArray(); var notChanged = changePortStateRequests.Where(p => !p.StateChanged).ToArray(); string changedStateWord; string notChangedStateWord; switch (targetState) { case TargetStates.Activate: changedStateWord = changed.Length > 1 ? activatedWordPlus : activatedWord; notChangedStateWord = notChanged.Length > 1 ? activatedWordPlus : activatedWord; break; case TargetStates.Deactivate: changedStateWord = changed.Length > 1 ? deactivatedWordPlus : deactivatedWord; notChangedStateWord = notChanged.Length > 1 ? deactivatedWordPlus : deactivatedWord; break; default: throw new SpeechletException($"TargetStates '{targetState}' não é suportado"); } var sb = new StringBuilder(); if (changed.Any()) { var changedPorts = string.Join(", ", changed.Select(p => p.PortName)); var changedMessage = $"{changedPorts} {(changed.Length > 1 ? willWordPlus : willWord)} {changedStateWord}. "; sb.Append(changedMessage); } if (notChanged.Any()) { var changedPorts = string.Join(", ", notChanged.Select(p => p.PortName)); var changedMessage = $"{changedPorts} já {(notChanged.Length > 1 ? inCurrentStatePlus : inCurrentState)} {notChangedStateWord}. "; sb.Append(changedMessage); } return(sb.ToString()); }