Пример #1
0
 public void OnSnakeTriggerEnter(Collider col, SnakeCollider snakeCol)
 {
     if (colliders.Contains(col) && !useColliderOnly)
     {
         audioS.PlayOneShot(triggerAudio);
     }
 }
Пример #2
0
 public void OnSnakeTriggerEnter(Collider col, SnakeCollider snakeCol)
 {
     if (col == trigger)
     {
         snakeOnTrigger = true;
     }
 }
Пример #3
0
 public void OnSnakeTriggerEnter(Collider col, SnakeCollider snakeCol)
 {
     if (snakeMovement == null)
     {
         snakeMovement = snakeCol.rootOfSnake.GetComponent <SnakeMovement>();
     }
 }
Пример #4
0
 public void OnSnakeCollisionEnter(Collision col, SnakeCollider snakeCol)
 {
     if (colliders.Contains(col.collider) && justPickedup)
     {
         audioS.PlayOneShot(colliderAudio);
         justPickedup = false;
     }
 }
Пример #5
0
 public void DropItem(StickyItem x, SnakeCollider y)
 {
     if (inventory.Contains(x))
     {
         inventory.Remove(x);
         jointInventory.Remove(y);
         eventManager.InvokeEventFast <ISnakeItemDrop, StickyItem, SnakeInventory>(x, this);
     }
 }
Пример #6
0
 public SnakeObjekt(Game game, Vector2 startLocation, int defaultLength) : base(game)
 {
     this.body     = new List <SnakeBodyPart>();
     this.head     = new SnakeBodyPart(this.Game, startLocation);
     this.collider = new SnakeCollider(this.head.GetHitbox());
     for (int i = 0; i < defaultLength - 1; i++)
     {
         this.AddBodyPart();
     }
 }
 public void OnSnakeCollisionEnter(Collision col, SnakeCollider snakeCol)
 {
     if (col.rigidbody == itemRb && !snakeIsStuck)
     {
         ContactPoint contact = col.contacts[0];
         snakeOnItem = snakeCol.snakeAttacher;
         snakeCol.snakeAttacher.Connect(itemRb, transform.InverseTransformPoint(contact.point));
         snakeIsStuck = true;
     }
 }
Пример #8
0
    public void OnSnakeCollisionEnter(Collision col, SnakeCollider snakeCol)
    {
        BaseObject obj;

        ColliderCache.cachedObjects.TryGetValue(col.collider, out obj);

        if (!(obj is SnakeCollider))
        {
            //audioS.PlayOneShot(hit, VelosityToVolume(snakeCol.rigid));
        }
    }
Пример #9
0
    public void OnSnakeCollisionEnter(Collision col, SnakeCollider snakeCol)
    {
        BaseObject obj;

        ColliderCache.cachedObjects.TryGetValue(col.collider, out obj);
        if (obj == this && !isPlaying)
        {
            //snakeTransporter.OnSnakeCollisionEnter(col, snakeCol);
            sticker.OnSnakeCollisionEnter(col, snakeCol);
            StartPath();
        }
    }
    public void OnSnakeCollisionEnter(Collision col, SnakeCollider snakeCol)
    {
        BaseObject obj;

        ColliderCache.cachedObjects.TryGetValue(col.collider, out obj);

        //SnakeCollider snakeCol = obj as SnakeCollider;
        if (!(obj is SnakeCollider))
        {
            //fakeDrag = 1; //Uncomment to get extreme friction, when hitting stuff...
        }
    }
Пример #11
0
 public void PickUpItem(StickyItem x, SnakeCollider joint)
 {
     if (inventory.Add(x))
     {
         if (!jointInventory.ContainsKey(joint))
         {
             jointInventory[joint] = new List <StickyItem>();
         }
         jointInventory[joint].Add(x);
         eventManager.InvokeEventFast <ISnakeItemPickup, StickyItem, SnakeInventory>(x, this);
         //eventManager.InvokeSnakeItemPickup(x,this);
     }
 }
    public void OnSnakeCollisionEnter(Collision col, SnakeCollider snakeCol)
    {
        _rigid = snakeCol.GetComponent <Rigidbody>();
        if (!_initialParentSet)
        {
            _initialParentSet    = true;
            _originalVelcroSnake = snakeCol.transform.parent.parent;
        }
        // Objects stuck to the snake.
        foreach (var x in snakeCol.rootOfSnake.GetComponent <SnakeInventory>().inventory)
        {
            x.transform.parent = GrabHook;
        }
        _originalVelcroSnake.parent = GrabHook;

        for (int i = 0; i < _rigid.transform.parent.childCount; i++)
        {
            if (_rigid.transform.parent.GetChild(i).GetComponent <Rigidbody>() != null)
            {
                _rigid.transform.parent.GetChild(i).GetComponent <Rigidbody>().isKinematic = true;
                if (_rigid.transform.parent.GetChild(i).GetComponent <Collider>() != null)
                {
                    _rigid.transform.parent.GetChild(i).GetComponent <Collider>().enabled = false;
                }
            }
        }
        for (int i = 0; i < _rigid.transform.childCount; i++)
        {
            if (_rigid.transform.GetChild(i).GetComponent <Rigidbody>() != null)
            {
                _rigid.transform.GetChild(i).GetComponent <Rigidbody>().isKinematic = true;
                if (_rigid.transform.GetChild(i).GetComponent <Collider>() != null)
                {
                    _rigid.transform.GetChild(i).GetComponent <Collider>().enabled = false;
                }
            }
        }
        // Objects stuck to the snake.
        foreach (var x in _rigid.GetComponent <SnakeCollider>().rootOfSnake.GetComponent <SnakeInventory>().inventory)
        {
            x.rigid.isKinematic = true;
            if (x.GetComponent <Collider>() != null)
            {
                x.GetComponent <Collider>().enabled = false;
            }
        }
        _readyToReleaseSnake = true;
        _toggleCollider      = true;
    }
Пример #13
0
    public void Init(Snake snake)
    {
        this.snake = snake;
        courtesyPowerupWaitForSeconds = new WaitForSeconds(powerupCourtesyDelay);

        SnakeCollider[] colliderList = GetComponentsInChildren <SnakeCollider>();
        foreach (SnakeCollider col in colliderList)
        {
            if (col.GetColliderType() == SnakeColliderType.MAGNET)
            {
                magnetCollider = col;
                break;
            }
        }
    }
Пример #14
0
    public void OnSnakeTriggerExit(Collider col, SnakeCollider snakeCol)
    {
        if (snakeCol.isHead)
        {
            if (col.transform.parent == null || snakeCol.transform != target)
            {
                return;
            }

            CameraTrigger camTrigger = col.transform.parent.GetComponent <CameraTrigger>();
            if (camTrigger != null)
            {
                useCameraTriggerSettings = false;
            }
        }
    }
 public void OnSnakeTriggerEnter(Collider col, SnakeCollider snakeCol)
 {
     snakeCollider = snakeCol;
     if (col == animationTrigger && !doorMoving)
     {
         if (doorOpen)
         {
             //door.Rotate(new Vector3(0, -90, 0));
             StartCoroutine(CloseDoor());
             doorOpen = false;
         }
         else
         {
             //door.Rotate(new Vector3(0, 90, 0));
             StartCoroutine(OpenDoor());
             doorOpen = true;
         }
     }
 }
Пример #16
0
    public void OnSnakeCollisionEnter(Collision col, SnakeCollider joint)
    {
        Collider   collider = col.collider;
        BaseObject collidedObject;

        if (ColliderCache.cachedObjects.TryGetValue(collider, out collidedObject))
        {
            StickyItem sticky = collidedObject as StickyItem;
            if (sticky != null)
            {
                if (ValidatePickup(sticky))
                {
                    if (sticky.TryStickToSnake(col, joint.rigid))
                    {
                        PickUpItem(sticky, joint);
                    }
                }
            }
        }
    }
    public void OnSnakeTriggerEnter(Collider col, SnakeCollider snakeCol)
    {
        BaseObject objective;

        ColliderCache.cachedObjects.TryGetValue(col, out objective);
        if (objective == this)
        {
            if (ObjectivesComplete() && completionType == CompletionType.CompleteOnContact && !hasFinished)
            {
                foreach (var x in objectives.Keys)
                {
                    if (destroyItemsOnCompletion)
                    {
                        x.gameObject.SetActive(false);
                    }
                }
                hasFinished = true;
                eventManager.InvokeEventFast <IObjectiveComplete, LevelObjective>(this);
            }
        }
    }
Пример #18
0
    public void OnSnakeTriggerEnter(Collider col, SnakeCollider snakeCol)
    {
        if (col == transform.GetComponent <Collider>())
        {
            _rigid = snakeCol.GetComponent <Rigidbody>();
            if (!_initialParentSet)
            {
                _initialParentSet    = true;
                _originalVelcroSnake = snakeCol.transform.parent.parent;
                teleporter.position  = snakeCol.transform.position;
                //Debug.Log("initialParent= " + _originalVelcroSnake.name);
            }
            //Debug.Log("The rigidbody's 2nd parent= " + _rigid.transform.parent.parent.name);
            foreach (var x in snakeCol.rootOfSnake.GetComponent <SnakeInventory>().inventory)
            {
                x.transform.parent = teleporter;
            }
            _originalVelcroSnake.parent = teleporter;
            audioS.PlayOneShot(enterSound);
            //Debug.Log("The teleporter first child= " + teleporter.GetChild(0).name);
            //Debug.Log("Teleporter's number of children= " + teleporter.childCount);

            /*if (teleporter.childCount > 0)
             * {
             *  for (int i = 0; i < teleporter.childCount; i++)
             *  {
             *      Debug.Log("child name= " + teleporter.GetChild(i).name);
             *  }
             * }*/
            dustBurstHolder.SetActive(false);
            if (!snakeMoved)
            {
                snakeMoved = !snakeMoved;
                StartCoroutine(MoveSnake(timer));
            }
        }
    }
Пример #19
0
 public void OnSnakeTriggerExit(Collider col, SnakeCollider snakeCol)
 {
 }
Пример #20
0
 public void OnSnakeCollisionExit(Collision col, SnakeCollider snakeCol)
 {
 }
 public void OnSnakeCollisionExit(Collision col, SnakeCollider snakeCol)
 {
     //throw new NotImplementedException();
 }
Пример #22
0
 public void OnSnakeCollisionExit(Collision col, SnakeCollider joint)
 {
 }