Beispiel #1
0
    public void StartConversation(InteractBehavior interact)
    {
        dh.nameTxt.text = interact.character._name;
        gc.storedChar   = Instantiate(interact.character); // this is so we never DIRECTLY edit the object in the folder during the battle
        switch (interact.character._type)
        {
        case (GameController.Types.tiredness):
            dh.whichVoice = 0;
            break;

        case (GameController.Types.kindness):
            dh.whichVoice = 1;
            break;

        case (GameController.Types.liveliness):
            dh.whichVoice = 2;
            break;
        }

        dh.currentLine = 0;
        dh.label.SetActive(false);
        dh.myLines.Clear();
        foreach (string line in interact.character.exploreLines)
        {
            dh.myLines.Add(line);
        }

        dh.EnableTextBox();
        gc.cameraLastPos = Camera.main.transform.position;
        gc.playerLastPos = transform.position;
        //dc.CheckWhosTalking(dc.myLines[dc.currentLine]);
        //dc.textHolder.SetActive(true);
        //dc._text.text = dc.myLines[dc.currentLine];
    }
Beispiel #2
0
    private void OnTriggerStay(Collider collision)
    {
        if (collision.gameObject.GetComponent <InteractBehavior>() != null && !dh.isActive)
        {
            InteractBehavior interact = collision.gameObject.GetComponent <InteractBehavior>();

            if (interact.character._name == "RAW" && !meetRaw)
            {
                StartConversation(interact);
                nearObj = false;
                canJump = false;
                meetRaw = true;
            }
            else
            {
                if (!interact.character.isDefeated)
                {
                    nearObj = true;
                    dh.label.SetActive(true);
                    dh.labelText.text = interact._name;

                    if (Input.GetKeyDown(KeyCode.Space))
                    {
                        StartConversation(interact);
                    }
                }
                else
                {
                    nearObj = false;
                    canJump = false;
                }
            }
        }
    }
 private void Start()
 {
     movementState         = MovementState.Idle;
     previousMovementState = movementState;
     interactState         = InteractState.Nothing;
     previousInteractState = interactState;
     body                   = GetComponent <Rigidbody>();
     animBody               = GetComponent <AnimatorController>();
     moveStateParameters    = new MovementStateParam();
     moveStateCtrl          = new MovementStateController();
     interactStateParameter = new InteractStateParam();
     InteractStateCtrl      = new InteractStateController();
     inputController        = GetComponent <InputController>();
     interactBehaviorCtrl   = GetComponent <InteractBehavior>();
 }
Beispiel #4
0
    public void StartConversation(InteractBehavior interact, bool playerLost)
    {
        dh.nameTxt.text = interact.character._name;
        gc.storedChar   = Instantiate(interact.character); // this is so we never DIRECTLY edit the object in the folder during the battle
        switch (interact.character._type)
        {
        case (GameController.Types.tiredness):
            dh.whichVoice = 0;
            break;

        case (GameController.Types.kindness):
            dh.whichVoice = 1;
            break;

        case (GameController.Types.liveliness):
            dh.whichVoice = 2;
            break;
        }

        dh.currentLine = 0;
        dh.label.SetActive(false);
        dh.myLines.Clear();
        if (!playerLost)
        {
            foreach (string line in interact.character.defeatLines)
            {
                dh.myLines.Add(line);
            }
        }
        else
        {
            foreach (string line in interact.character.winLines)
            {
                dh.myLines.Add(line);
            }
        }

        dh.isShowingDefeat = true;
        dh.EnableTextBox();
    }
Beispiel #5
0
 void Start()
 {
     interBehavior = GameObject.FindGameObjectWithTag("Player").GetComponent <InteractBehavior>();
 }
Beispiel #6
0
 // Start is called before the first frame update
 void Start()
 {
     interactBehavior = GetComponent <InteractBehavior>();
 }