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);
        }
    }