private void OnAnimationEventTriggered(tk2dSpriteAnimator animator, tk2dSpriteAnimationClip clip, int frameIndex) { CameraUtils.Shake(); IList <MonsterEntity2D> monsters = DungeonManager.GetInstance().monsters; for (int index = monsters.Count - 1; index >= 0; index--) { MonsterEntity2D mosnter = monsters[index]; if (mosnter.motor2D.isGrounded) { mosnter.OnSkillHit(owner, data, owner.transform.position); if (mosnter.machine.currentState.GetName() == StateTypes.Dead.ToString()) { ComponentDefaultEffect componentEffect = mosnter.gameObject.AddComponent <ComponentDefaultEffect>(); componentEffect.spinEnabled = false; componentEffect.minForce = 0.5f; componentEffect.maxForce = 1.0f; componentEffect.gravity = -6.0f; componentEffect.minSpeed = 0.4f; componentEffect.maxSpeed = 0.6f; } } } }
public static void Drop(GameObject go, Vector2 hitPosition) { ComponentDefaultEffect componentEffect = go.AddComponent <ComponentDefaultEffect>(); componentEffect.spinEnabled = false; componentEffect.minForce = 0.5f; componentEffect.maxForce = 1.0f; componentEffect.gravity = -6.0f; componentEffect.minSpeed = 0.4f; componentEffect.maxSpeed = 0.6f; if (hitPosition.x > go.transform.position.x) { componentEffect.angle = UnityEngine.Random.Range(90, 180); } else if (hitPosition.x < go.transform.position.x) { componentEffect.angle = UnityEngine.Random.Range(0, 90); } else { componentEffect.angle = 90; } }