private void Start()
    {
        cam = Camera.main;

        characterBrain = GetComponentInParent <CharacterBrain>();
        GameManager.instance.OnStartGame     += SpawnBall;
        GameManager.instance.OnFinishTrigger += FinishTrigged;
        GameManager.instance.OnFinish        += Finish;

        for (int i = 0; i < dotCount; i++)
        {
            GameObject dot = Instantiate(lineDotPrefab);
            dot.SetActive(false);
            lineDotList.Add(dot);
        }
    }
Beispiel #2
0
        /************************************************************************************************************************/

        /// <summary>
        /// When a <see cref="Character"/> enters this trigger, try to make it enter this state.
        /// </summary>
        private void OnTriggerEnter(Collider collider)
        {
            if (enabled)
            {
                return;
            }

            var character = collider.GetComponent <Character>();

            if (character == null ||
                !character.Idle.TryEnterState())
            {
                return;
            }

            _State         = State.Entering;
            _PreviousBrain = character.Brain;
            Character      = character;
        }
    private void OnTriggerStay(Collider other)
    {
        if (other.gameObject.CompareTag("Player"))
        {
            CharacterBrain characterBrain = other.gameObject.GetComponent <CharacterBrain>();
            AIBrain        aiBrain        = other.gameObject.GetComponent <AIBrain>();

            if (characterBrain)
            {
                if (!doorBrain.isDoorOpen)
                {
                    characterBrain.IsRunning          = false;
                    characterBrain.transform.position = pointTransform.position;
                    isStopped = true;
                }
                else
                {
                    if (!characterBrain.IsRunning && isStopped)
                    {
                        characterBrain.IsRunning = true;
                        isStopped = false;
                    }
                }
            }
            else
            {
                if (!doorBrain.isDoorOpen)
                {
                    aiBrain.IsRunning          = false;
                    aiBrain.transform.position = pointTransform.position;
                    isStopped = true;
                }
                else
                {
                    if (!aiBrain.IsRunning && isStopped)
                    {
                        aiBrain.IsRunning = true;
                        isStopped         = false;
                    }
                }
            }
        }
    }
 private void Start()
 {
     _characterBrain = GetComponent <CharacterBrain>();
 }
Beispiel #5
0
 public void SwitchBrain(CharacterBrain brain)
 {
     currentBrain = brain;
 }
 /// <summary>
 /// Sets the current event library to the starting event library
 /// </summary>
 protected void Init(CharacterBrain brainToUse)
 {
     m_Brain = brainToUse;
     SetCurrentMovementEventLibrary(defaultLibrary);
 }