public void DoAction() { if (interactionManager.overlapEcastms.Count != 0) { EventCasterManager thisEvenCastManger = interactionManager.overlapEcastms[0]; if (thisEvenCastManger.active == true && directorManager.JudgeStateIsPlaying() == false) { //I should play corresponding(eventName) timeline here. if (thisEvenCastManger.eventName == "frontStab") { transform.position = thisEvenCastManger.actorManager.transform.position + thisEvenCastManger.actorManager.transform.TransformVector(thisEvenCastManger.offset); actorController.model.transform.LookAt(thisEvenCastManger.actorManager.transform, Vector3.up); directorManager.PlayTimeline("frontStab", this, thisEvenCastManger.actorManager); } else if (thisEvenCastManger.eventName == "openBox") { if (BattleManager.CheckAngleExecutor(actorController.model, thisEvenCastManger.actorManager.gameObject, 45)) { transform.position = thisEvenCastManger.actorManager.transform.position + thisEvenCastManger.actorManager.transform.TransformVector(thisEvenCastManger.offset); actorController.model.transform.LookAt(thisEvenCastManger.actorManager.transform, Vector3.up); thisEvenCastManger.active = false; directorManager.PlayTimeline("openBox", this, thisEvenCastManger.actorManager); } } else if (thisEvenCastManger.eventName == "leverUp") { if (BattleManager.CheckAngleExecutor(actorController.model, thisEvenCastManger.actorManager.gameObject, 45)) { transform.position = thisEvenCastManger.actorManager.transform.position + thisEvenCastManger.actorManager.transform.TransformVector(thisEvenCastManger.offset); actorController.model.transform.LookAt(thisEvenCastManger.actorManager.transform, Vector3.up); // thisEvenCastManger.active = false; directorManager.PlayTimeline("leverUp", this, thisEvenCastManger.actorManager); } } } } }