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); } }