Beispiel #1
0
    private void SelectFirst()
    {
        var first = StateDetector.DetectStateObject(statesLayer.value);

        if (!first)
        {
            return;
        }
        var first_id = first.GetComponent <StateObject>();

        if (!first_id)
        {
            Debug.Log("selected state dosent have StateID component");
            return;
        }

        ConnectionEvents.Instance.firstStateID = first_id;
        ConnectionEvents.Instance.FirstStateSelected();
        _isFirstSelected = true;
        //Debug.Log("first state selected");
    }
Beispiel #2
0
    private void SelectSecond()
    {
        if (!_isFirstSelected)
        {
            return;
        }

        var second = StateDetector.DetectStateObject(statesLayer.value);

        if (!second)
        {
            ConnectionEvents.Instance.SecondStateSelectionCanceled();
            Debug.Log("second state selection canceled");
            _isFirstSelected = false;
            return;
        }
        //Debug.Log(second.name);
        var second_id = second.GetComponent <StateObject>();

        if (!second_id)
        {
            ConnectionEvents.Instance.SecondStateSelectionCanceled();
            Debug.Log("selected state dosent have StateID component");
            _isFirstSelected = false;
            return;
        }
        if (!AutomataManager.Instance.IsConnectionPossible(ConnectionEvents.Instance.firstStateID.ID, second_id.ID)) //TODO : this isnt working check this another way
        {
            ConnectionEvents.Instance.SecondStateSelectionCanceled();
            Debug.Log("Current Connection exists");
            _isFirstSelected = false;
            return;
        }
        ConnectionEvents.Instance.secondStateID = second_id;
        ConnectionEvents.Instance.SecondStateSelected();
        _isFirstSelected = false;
        //Debug.Log("second selected");
    }
Beispiel #3
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            GameObject go   = StateDetector.DetectStateObject(stateLayer);
            bool       flag = EventSystem.current.IsPointerOverGameObject();
            if (!flag && !go)
            {
                BuildStateEvents.Instance.CreateState();
            }
        }
        if (Input.GetKeyDown(KeyCode.X) || Input.GetKeyDown(KeyCode.Delete))
        {
            var detected = StateDetector.DetectStateObject(stateLayer);
            if (!detected)
            {
                return;
            }

            var id = detected.GetComponent <StateObject>().ID;
            BuildStateEvents.Instance.DeleteState(id);
        }
    }
Beispiel #4
0
    private void Update()
    {
        var detectedObject = StateDetector.DetectStateObject(stateLayer);

        if (!detectedObject)
        {
            return;
        }

        if (EventSystem.current.currentSelectedGameObject)
        {
            return;                                               //if a ui is selected
        }
        int id = -1;

        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            id = detectedObject.GetComponent <StateObject>().ID;
            BuildStateEvents.Instance.ChangeStatus(id, Status.START);
        }
        else if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            id = detectedObject.GetComponent <StateObject>().ID;
            BuildStateEvents.Instance.ChangeStatus(id, Status.NORMAL);
        }
        else if (Input.GetKeyDown(KeyCode.Alpha3))
        {
            id = detectedObject.GetComponent <StateObject>().ID;
            BuildStateEvents.Instance.ChangeStatus(id, Status.FINAL);
        }
        else if (Input.GetKeyDown(KeyCode.Alpha4))
        {
            id = detectedObject.GetComponent <StateObject>().ID;
            BuildStateEvents.Instance.ChangeStatus(id, Status.STARTANDFINAL);
        }
    }