コード例 #1
0
    public void SetParameter(AlligatorAttackModel _argModel)
    {
        attackModel = _argModel;
        currentStat = FIREBALL_STATUS.RENDER_INIT;

        gameObject.transform.localScale = new Vector3(
            gameObject.transform.localScale.x * attackModel.scale * (attackModel.isRight ? 1 : -1),
            gameObject.transform.localScale.y * attackModel.scale,
            gameObject.transform.localScale.z);

        startPosition = currentPostion = gameObject.transform.position;
    }
    public IEnumerator AlligatoerAttack(DefaultAttackData _defaultData, ExtraAttackData _extraData)
    {
        yield return(StartCoroutine(SwingWeapon(_defaultData.m_fAttackSpeed, _defaultData.m_fWeaponAxisStart, _defaultData.m_fWeaponAxisEnd, _defaultData.rightFunctionPointer(), _defaultData.hitList)));

        if (_defaultData.hitList.Count > 0)
        {
            //0 이상이면 무기에 맞는놈이있다.
            //Hit and 넉벡
            Debug.Log("HIT");
        }
        else
        {
            //Only For Test
            //무기에 맞는놈이 없으므로 파이어볼
            GameObject firballObject = MonoBehaviour.Instantiate(alligatorFireBallPrefab) as GameObject;
            firballObject.transform.position = new Vector3(parentsObject.transform.position.x +
                                                           (_defaultData.rightFunctionPointer() == true ? +0.2f : -0.2f),
                                                           parentsObject.transform.position.y,
                                                           parentsObject.transform.position.z);
            AlligatorAttackModel argModel = new AlligatorAttackModel();

            argModel.bulletSpeed      = 0.06f; // 0.1 x move
            argModel.destroySprite    = alligatorEndObject;
            argModel.frame            = 10.0f; // ms
            argModel.endFrameMultiple = 3;     // ms
            argModel.isRight          = _defaultData.rightFunctionPointer();
            argModel.scale            = 1.0f;  // multiple Scale
            argModel.sheetingArea     = 5.0f;
            argModel.sheetingSprite   = alligatorSheetingObject;
            argModel.targetArray      = new ArrayList();
            argModel.targetArray.Add(GlobalLayerMask.ENEMY_MASK);

            FireBallScript firballScript = firballObject.GetComponent <FireBallScript>();

            firballScript.SetParameter(argModel);
        }
    }