Esempio n. 1
0
    void SelectFsmVariableGUI(FsmVariables fsmVariables)
    {
        NamedVariable[] _list = new NamedVariable[0];

        if (_target.fsmVariableSetup.variableType == VariableType.Bool)
        {
            _list = fsmVariables.GetNames(typeof(FsmBool));
        }
        else if (_target.fsmVariableSetup.variableType == VariableType.Int)
        {
            _list = fsmVariables.GetNames(typeof(FsmInt));
        }
        else if (_target.fsmVariableSetup.variableType == VariableType.Float)
        {
            _list = fsmVariables.GetNames(typeof(FsmFloat));
        }
        else if (_target.fsmVariableSetup.variableType == VariableType.Vector2)
        {
            _list = fsmVariables.GetNames(typeof(FsmVector2));
        }
        else if (_target.fsmVariableSetup.variableType == VariableType.String)
        {
            _list = fsmVariables.GetNames(typeof(FsmString));
        }


        _variableChoices = new string[_list.Length];
        for (int i = 0; i < _list.Length; i++)
        {
            _variableChoices[i] = _list[i].Name;
        }

        if (_variableChoices.Length == 0)
        {
            ErrorFeedbackGui("No " + _target.fsmVariableSetup.variableType + " variable on Fsm");
        }
        else
        {
            int _choiceIndex = EditorGUILayout.Popup(_target.fsmVariableSetup.variableType.ToString() + " Variable", _target.fsmVariableSetup.variableIndex, _variableChoices);
            if (_choiceIndex != _target.fsmVariableSetup.variableIndex || string.IsNullOrEmpty(_target.fsmVariableSetup.variableName))
            {
                _target.fsmVariableSetup.variableIndex = _choiceIndex;
                _target.fsmVariableSetup.variableName  = _variableChoices[_choiceIndex];
            }
        }
    }
	void SelectFsmVariableGUI(FsmVariables fsmVariables)
	{
		NamedVariable[] _list = new NamedVariable[0];
		
		if (_target.fsmVariableSetup.variableType == VariableType.Bool)
		{
			_list = fsmVariables.GetNames(typeof(FsmBool));
		}else if (_target.fsmVariableSetup.variableType == VariableType.Float)
		{
			_list = fsmVariables.GetNames(typeof(FsmFloat));
		}else if (_target.fsmVariableSetup.variableType == VariableType.Vector2)
		{
			_list = fsmVariables.GetNames(typeof(FsmVector2));
		}else if (_target.fsmVariableSetup.variableType == VariableType.String)
		{
			_list = fsmVariables.GetNames(typeof(FsmString));
		}


		_variableChoices = new string[_list.Length];
		for(int i=0;i<_list.Length;i++)
		{
			_variableChoices[i] = _list[i].Name;
		}

		if (_variableChoices.Length==0)
		{
			ErrorFeedbackGui("No "+_target.fsmVariableSetup.variableType+" variable on Fsm");
		}else{
			int _choiceIndex =  EditorGUILayout.Popup(_target.fsmVariableSetup.variableType.ToString()+" Variable",_target.fsmVariableSetup.variableIndex,_variableChoices);
			if (_choiceIndex!=_target.fsmVariableSetup.variableIndex || string.IsNullOrEmpty(_target.fsmVariableSetup.variableName))
			{
				_target.fsmVariableSetup.variableIndex =_choiceIndex;
				_target.fsmVariableSetup.variableName = _variableChoices[_choiceIndex];
			}
		}

	}