Beispiel #1
0
    // Use this for initialization
    void Start()
    {
        float each_angle = max_angle / (max_count - 1);
        float half_angle = max_angle / 2.0f;

        Vector3 center_vec = EndPos - gameObject.transform.position;
        Vector3 left_vec   = Quaternion.AngleAxis(half_angle, Vector3.back) * center_vec;

        for (int i = 0; i < max_count; ++i)
        {
            Vector3 rotated_end_pos = Quaternion.AngleAxis(each_angle * i, Vector3.forward) * left_vec;

            Quaternion newRotation = CUtility.MakeQuaternion(gameObject.transform.position, rotated_end_pos + gameObject.transform.position);
            // 이미지를 회전 시켜서 위로 바라 보게 만든다.
            Vector3 eulerAngles = newRotation.eulerAngles;
            eulerAngles.z += 90.0f;
            newRotation    = Quaternion.Euler(eulerAngles);

            GameObject ice_bolt_obj = Instantiate <GameObject>(CResourceMgr.LoadEffect("IceBolt"), gameObject.transform.position, newRotation);
            CIceBolt   IceBolt      = ice_bolt_obj.GetComponent <CIceBolt>();
            IceBolt.Speed      = speed;
            IceBolt.Owner      = Owner;
            IceBolt.EndPos     = rotated_end_pos + gameObject.transform.position;
            IceBolt.HitAniType = HitAniType;
        }

        Destroy(gameObject);
    }
Beispiel #2
0
    public override void Combo3Damage()
    {
        Vector3    TargetVec = RotateAngle == 0.0f ? gameObject.transform.position + Vector3.right * AttackRange : gameObject.transform.position + Vector3.left * AttackRange;
        GameObject LoadedObj = Instantiate <GameObject>(CResourceMgr.LoadEffect("IceBolt"), gameObject.transform.position, new Quaternion());
        CIceBolt   IceBolt   = LoadedObj.GetComponent <CIceBolt>();

        IceBolt.Owner  = gameObject;
        IceBolt.EndPos = TargetVec;
        CCombo3Ani ani = gameObject.GetComponentInChildren <CCombo3Ani>();

        IceBolt.HitMove    = ani.HitMove;
        IceBolt.HitAniType = EHitAniType.Type3;
        SoundMgr.PlaySound("Razor", ESoundType.Motion);
    }
Beispiel #3
0
    public override void Combo2Damage()
    {
        Vector3    TargetVec   = RotateAngle == 0.0f ? gameObject.transform.position + Vector3.right * AttackRange : gameObject.transform.position + Vector3.left * AttackRange;
        Quaternion newRotation = CUtility.MakeQuaternion(gameObject.transform.position, TargetVec);

        // 이미지를 반시계방향으로 회전 시켜서 위로 바라 보게 만든다.
        Vector3 eulerAngles = newRotation.eulerAngles;

        eulerAngles.z += 90.0f;
        newRotation    = Quaternion.Euler(eulerAngles);

        GameObject LoadedObj = Instantiate <GameObject>(CResourceMgr.LoadEffect("IceBolt"), gameObject.transform.position, newRotation);
        CIceBolt   Effect    = LoadedObj.GetComponent <CIceBolt>();

        Effect.Owner  = gameObject;
        Effect.EndPos = TargetVec;
        CCombo1Ani ani = gameObject.GetComponentInChildren <CCombo1Ani>();

        Effect.HitMove    = ani.HitMove;
        Effect.HitAniType = EHitAniType.Type2;
        SoundMgr.PlaySound("Razor2", ESoundType.Motion);
    }