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);
 }
Exemplo n.º 3
0
        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);
            }
        }