void Start() { //Get all boxes and belongings belongings = FindObjectsOfType <Belonging>(); boxes = FindObjectsOfType <BoxToFill>(); hidden = FindObjectOfType <HiddenObject>(); }
private void UpdateVisibility(VisionState nvs) { if (VisionState != nvs) { VisionState = nvs; if (VisibleObject) { VisibleObject.SetActive(nvs == VisionState.VISIBLE); } if (HiddenObject) { HiddenObject.SetActive(nvs == VisionState.HIDDEN); } if (SeenObject) { SeenObject.SetActive(nvs == VisionState.SEEN); } UpdateParticleSystems(nvs); //foreach (var r in GetComponentsInChildren<Renderer>()) r.enabled = (nvs != VisionState.HIDDEN); foreach (var obj in mapObjects.Values) { ApplyVisibilityToObject(obj); } } }
// Return objects to normal private void OnTriggerExit(Collider other) { if (other.GetComponent <HiddenObject>()) { HiddenObject hide = other.GetComponent <HiddenObject>(); hide.colliders[0].enabled = false; } }
protected override void OnDamageableDestroyed() { base.OnDamageableDestroyed(); ReadOnlyCollection <HiddenObject> targetObjects = hiddenObjectSpawner.TargetObjects; int highlightedObjectIndex = Random.Range(0, targetObjects.Count); HiddenObject highlightedObject = targetObjects[highlightedObjectIndex]; highlightedObject.HighlightObject(); }
public HiddenObject GetRandomObject(HiddenObject.ObjectDifficulty diffculty) { if (objectsAvailable == 0) return null; foreach(HiddenObject hiddenObject in hiddenObjects) if (hiddenObject.selected == false && hiddenObject.difficulty == diffculty) { hiddenObject.SetCollider(true); hiddenObject.selected = true; objectsAvailable--; return hiddenObject; } return null; }
private void Update() { while (_visibleObjects.Count < _objectsVisible) { int newObjectIndex; HiddenObject newObject; do { newObjectIndex = Random.Range(0, _hiddenObjectPrefabs.Length); newObject = _hiddenObjectPrefabs[newObjectIndex]; } while (_visibleObjects.Contains(newObject)); float horizontalPosition = Random.Range(-horizontalRange, horizontalRange); float verticalPosition = Random.Range(-verticalRange, verticalRange); newObject.transform.position = new Vector3(horizontalPosition, verticalPosition, newObject.transform.position.z); if (_targetObjects.Count < minimumTargetObjects || Random.Range(0f, 1f) < targetObjectPercentage) { newObject.isTargetItem = true; _targetObjects.Add(newObject); if (_visibleObjects.Count > 0) { for (int currAlteredObject = 0; currAlteredObject < objectsToAlter; currAlteredObject++) { float horizontalAlteredPosition = Random.Range(-horizontalRange, horizontalRange); float verticalAlteredPosition = Random.Range(-verticalRange, verticalRange); int objectToAlterIndex = Random.Range(0, _visibleObjects.Count); HiddenObject objectToAlter = _visibleObjects[objectToAlterIndex]; objectToAlter.transform.position = new Vector3(horizontalAlteredPosition, verticalAlteredPosition, objectToAlter.transform.position.z); } } } else { newObject.isTargetItem = false; } _visibleObjects.Add(newObject); newObject.gameObject.SetActive(true); } }
// Get an exact same object as this one. public override Component Clone() { BoxDescription boxDescription = BoxFactory.GetBoxDescription(Description.BackImage, Description.Size); HiddenObject hiddenObject = new HiddenObject { Image = HiddenObject.Image }; BoxState boxState = new BoxState { State = State.State }; ImageBinder imageBinder = new ImageBinder(); BoxFactory boxFactory = BoxFactory.GetInstance(); string image = (string)CurrentImage.Clone(); return(new Box { Description = boxDescription, HiddenObject = hiddenObject, State = boxState, ImageBinder = imageBinder, BoxFactory = boxFactory, CurrentImage = image, Position = this.Position, IsEnabled = this.IsEnabled }); }
public void SetObject(HiddenObject newObject) { hiddenObject = newObject; }
public void RemoveHiddenObject(HiddenObject hiddenObject) { hiddenObject.gameObject.SetActive(false); _visibleObjects.Remove(hiddenObject); _targetObjects.Remove(hiddenObject); }