private void Start() { button = GetComponentInParent <Button>(); inputButton = button.GetComponent <InputButton>(); trayInputButton = button.GetComponent <TrayInputButton>(); interactButtonToggle = GetComponent <InteractButtonToggle>(); tooltipButton = button.gameObject.AddComponent <TooltipInputButton>(); PropUser component = SceneRefs.ZoneLocalPlayerManager.LocalPlayerGameObject.GetComponent <PropUser>(); Prop prop = component.Prop; if (prop != null) { propValidator = prop.GetComponent <PropValidateDeployLocation>(); if (propValidator != null) { validator = propValidator.GetValidator(); if (validator == null) { propValidator.OnValidatorSpawned += onValidatorSpawned; } else { onValidPositionChanged(validator.IsValidPosition); validator.OnValidPositionChanged += onValidPositionChanged; } } } Content.LoadAsync(onTooltipLoaded, TooltipPrefab); }
private void onValidatorSpawned(PropSpawnLocationValidator validator) { if (propValidator != null) { propValidator.OnValidatorSpawned -= onValidatorSpawned; } this.validator = validator; this.validator.OnValidPositionChanged += onValidPositionChanged; onValidPositionChanged(validator.IsValidPosition); }
public IEnumerator Start() { GameObject localPlayer = SceneRefs.ZoneLocalPlayerManager.LocalPlayerGameObject; PropUser propUser = GetComponentInParent <PropUser>(); if (propUser.gameObject != localPlayer) { UnityEngine.Object.Destroy(this); yield break; } AssetRequest <GameObject> request = Content.LoadAsync(ValidatorContentKey); yield return(request); validator = UnityEngine.Object.Instantiate(request.Asset).GetComponent <PropSpawnLocationValidator>(); if (this.OnValidatorSpawned != null) { this.OnValidatorSpawned(validator); } }