void OnTriggerEnter(Collider other) { if (characterBehavior == null) { return; } if (state == states.ON_START_JUMPING) { return; } if (characterBehavior.state == CharacterBehavior.states.DEAD || characterBehavior.state == CharacterBehavior.states.CRASH || characterBehavior.state == CharacterBehavior.states.FALL) { return; } if (state == states.ON_FLY) { return; } if (other.tag == "destroyable") { if (other.GetComponent <CharacterAnimationForcer>()) { switch (other.GetComponent <CharacterAnimationForcer>().characterAnimation) { case CharacterAnimationForcer.animate.SLIDE: characterBehavior.Slide(); break; } } } if (other.tag == "floor" && state != states.ON_FLOOR) { state = states.ON_FLOOR; characterBehavior.OnFloor(); } else if (other.tag == "floor" && !other.GetComponent <SliderFloor>()) { if (transform.parent.gameObject.GetComponent <SliderEffect>()) { transform.parent.gameObject.GetComponent <SliderEffect>().speed = 0; } } else { if (other.tag == "enemy") { if (characterBehavior.state == CharacterBehavior.states.JUMP || characterBehavior.state == CharacterBehavior.states.DOUBLEJUMP || characterBehavior.state == CharacterBehavior.states.SHOOT) { MmoCharacter mmoCharacter = other.GetComponent <MmoCharacter> (); if (mmoCharacter != null) { other.GetComponent <MmoCharacter>().Die(); } else { other.gameObject.SendMessage("breakOut", other.gameObject.transform.position, SendMessageOptions.DontRequireReceiver); } characterBehavior.SuperJumpByBumped(1200, 0.5f, false); } } } }