Exemplo n.º 1
0
 void Start()
 {
     m_Object      = null;
     m_Holding     = false;
     m_JustGrabbed = false;
     Player        = this;
 }
Exemplo n.º 2
0
    void TryToGetGrabbed()
    {
        ObjectGrab grab = GameObject.FindGameObjectWithTag("Player").GetComponent <ObjectGrab>();

        if (grab.IsHolding())
        {
            Destroy(this.gameObject);
        }
        else
        {
            grab.Grab(this.gameObject);
        }
    }
Exemplo n.º 3
0
    private void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.CompareTag("Grabable"))
        {
            ObjectGrab objGrab = other.gameObject.GetComponent <ObjectGrab>();
            if (!objGrab.isGrabed && objGrab.isShoot)
            {
                isHit = true;
                SpiderDead();
            }
        }

        if (other.gameObject.CompareTag("Killable"))
        {
            SpiderDead();
        }
    }
 public void SendObjectGrab(
     ScriptInstance instance,
     ViewerAgentAccessor agent,
     int objectLocalID,
     Vector3 grabOffset,
     AnArray objectData)
 {
     lock (instance)
     {
         ViewerConnection vc;
         ViewerCircuit    viewerCircuit;
         if (m_Clients.TryGetValue(agent.AgentID, out vc) &&
             vc.ViewerCircuits.TryGetValue((uint)agent.CircuitCode, out viewerCircuit) &&
             objectData.Count % 6 == 0)
         {
             var msg = new ObjectGrab
             {
                 AgentID       = viewerCircuit.AgentID,
                 SessionID     = viewerCircuit.SessionID,
                 ObjectLocalID = (uint)objectLocalID,
                 GrabOffset    = grabOffset
             };
             for (int i = 0; i < objectData.Count; i += 6)
             {
                 msg.ObjectData.Add(new ObjectGrab.Data
                 {
                     UVCoord   = objectData[i + 0].AsVector3,
                     STCoord   = objectData[i + 1].AsVector3,
                     FaceIndex = objectData[i + 2].AsInt,
                     Position  = objectData[i + 3].AsVector3,
                     Normal    = objectData[i + 4].AsVector3,
                     Binormal  = objectData[i + 5].AsVector3
                 });
             }
             viewerCircuit.SendMessage(msg);
         }
     }
 }
Exemplo n.º 5
0
    void HandRayCast()
    {
        //Debug.DrawRay(transform.position, transform.forward*5,Color.blue, 1f);
        if (Physics.Raycast(transform.position, transform.forward, out _hitInfo, 1))
        {
            if (_hitInfo.transform.gameObject.CompareTag("Grabable"))
            {
                if (_hitInfo.transform.gameObject.GetComponent <ObjectGrab>().GetIsGrabable())
                {
                    ObjectGrab objGrab = _hitInfo.transform.gameObject.GetComponent <ObjectGrab>();
                    if (Input.GetMouseButtonDown(0))
                    {
                        objGrab.objrigid.isKinematic = true;
                        objGrab.transform.parent     = transform;
                        objGrab.isGrabed             = true;
                    }

                    if (Input.GetMouseButtonUp(0))
                    {
                        objGrab.objrigid.isKinematic = false;
                        objGrab.transform.parent     = null;
                        objGrab.isGrabed             = false;
                    }
                    if (Input.GetKeyDown(KeyCode.F))
                    {
                        objGrab.objrigid.isKinematic = false;
                        objGrab.isGrabed             = false;
                        objGrab.transform.parent     = null;
                        objGrab.isShoot = true;
                        objGrab.objrigid.AddForce(transform.forward * throwForce, ForceMode.Impulse);
                    }
                }
            }
            else if (_hitInfo.transform.gameObject.CompareTag("Touchable"))
            {
                if (_hitInfo.transform.gameObject.GetComponent <TouchObject>().GetTouchable())
                {
                    TouchObject touchObj = _hitInfo.transform.gameObject.GetComponent <TouchObject>();
                    if (Input.GetMouseButtonDown(0))
                    {
                        Debug.Log("Touch");
                        touchObj.SetIsTouched();
                    }
                }
            }
            else if (_hitInfo.transform.gameObject.CompareTag("Eatable"))
            {
                if (_hitInfo.transform.gameObject.GetComponent <Consumer>().GetIsTouchable())
                {
                    if (Input.GetMouseButtonDown(0))
                    {
                        Debug.Log("Touch");
                        _hitInfo.transform.gameObject.GetComponent <Consumer>().Consume();
                        ui.HungryBar.value += 25f;

                        //여기에 배고픔 4분의1씩 차는거 구현하심됩니다.
                    }
                }
            }
        }
    }
Exemplo n.º 6
0
 private void Awake()
 {
     Instance = this;
 }