Example #1
0
                } // end DoBeforeEntering

                public void Reason()
                {
                    if (false == character.avatar.isPlaying)
                    {
                        character.fsm.PerformTransition("wait");
                        return;
                    } // end if
                    if (isFinish)
                    {
                        return;
                    }
                    // end if
                    AnimationState state = character.avatar.GetCurrentState(anim);

                    if (state.normalizedTime < 0.5f)
                    {
                        return;
                    }
                    // end if
                    isFinish = true;
                    DamageData damage = new DamageData(character);

                    damage.CertainCrit();
                    Arrow arrow = InstanceMgr.GetObjectManager().GetGameObject <Arrow>(Arrow.poolName);

                    arrow.transform.position = character.position + Vector3.up * 0.8f;
                    arrow.transform.rotation = character.rotation;
                    arrow.SetDamage(damage);
                    arrow.gameObject.SetActive(true);
                } // end Reason