Exemplo n.º 1
0
    private void OnTriggerEnter(Collider other)
    {
        TransportableByConveyor transportableByConveyor = null;

        if (other.gameObject.TryGetComponent(out transportableByConveyor))
        {
            if (other.GetComponent <PhotonView>().IsMine)
            {
                PhotonNetwork.Destroy(other.gameObject);
            }
        }
    }
Exemplo n.º 2
0
 private void Awake()
 {
     _newPosition             = transform.position;
     _renderer                = GetComponent <Renderer>();
     _networkController       = GameObject.FindGameObjectWithTag("NetworkController").GetComponent <NetworkController>();
     _gameController          = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController>();
     _transportableByConveyor = GetComponent <TransportableByConveyor>();
     _photonView              = GetComponent <PhotonView>();
     Rigidbody                = GetComponent <Rigidbody>();
     _collider                = GetComponent <Collider>();
     _outline     = GetComponent <Outline>();
     _audioSource = GetComponent <AudioSource>();
 }
    private void OnCollisionExit(Collision collision)
    {
        TransportableByConveyor transportableByConveyor = null;
        Rigidbody rigidbody = null;

        if (collision.gameObject.TryGetComponent(out transportableByConveyor) && collision.gameObject.TryGetComponent(out rigidbody))
        {
            if (objectsOnConveyor.ContainsKey(transportableByConveyor))
            {
                objectsOnConveyor[transportableByConveyor].NumberOfTimeOnConveyor = objectsOnConveyor[transportableByConveyor].NumberOfTimeOnConveyor - 1;
                Debug.Log($"{collision.gameObject.name} has left the conveyor. ({objectsOnConveyor[transportableByConveyor].NumberOfTimeOnConveyor})");
                if (objectsOnConveyor[transportableByConveyor].NumberOfTimeOnConveyor == 0)
                {
                    transportableByConveyor.RemoveConveyor(this);
                    objectsOnConveyor.Remove(transportableByConveyor);
                }
            }
        }
    }
    private void OnCollisionEnter(Collision collision)
    {
        TransportableByConveyor transportableByConveyor = null;
        Rigidbody rigidbody = null;

        if (collision.gameObject.TryGetComponent(out transportableByConveyor) && collision.gameObject.TryGetComponent(out rigidbody))
        {
            if (!objectsOnConveyor.ContainsKey(transportableByConveyor))
            {
                objectsOnConveyor[transportableByConveyor] = new ConveyorObjectData()
                {
                    NumberOfTimeOnConveyor = 0, Rigidbody = rigidbody, TransportableByConveyor = transportableByConveyor
                };
                transportableByConveyor.AddConveyor(Priority, this);
            }
            objectsOnConveyor[transportableByConveyor].NumberOfTimeOnConveyor = objectsOnConveyor[transportableByConveyor].NumberOfTimeOnConveyor + 1;
            Debug.Log($"{collision.gameObject.name} has entered the conveyor. ({objectsOnConveyor[transportableByConveyor].NumberOfTimeOnConveyor})");
        }
    }