public BaseActor AddPlayerActor(int p_index, E_Camp p_camp = E_Camp.MyCamp) { if (!ActorTableData.GetI.ISGetActortableData(p_index)) { Debug.LogErrorFormat("생성 할수 없음 : {0}", p_index); return(null); } BaseActor cloneactor = GameObject.Instantiate <BaseActor>(CloneActorData); cloneactor.ActorTableID = p_index; cloneactor.InitSettingData(p_index, p_camp); cloneactor.gameObject.SetActive(true); if (p_camp == E_Camp.MyCamp) { cloneactor.transform.SetParent(PlayerActorSpawn); } else if (p_camp == E_Camp.EnemyCamp) { cloneactor.transform.SetParent(EnemyActorSpawn); } else { Debug.LogErrorFormat(" 진영이 없습니다. "); } cloneactor.transform.localPosition = new Vector3(0f, 0f, 0f); return(cloneactor); }
public void InitSettingData(int p_id, E_Camp p_camp) { ActorTableID = p_id; MyCamp = p_camp; m_ActorData = ActorTableData.GetI.GetActorTableData(ActorTableID); this.gameObject.layer = CalcManager.GetCampTypeTOLayerIndex(this); //m_AnimationCallFN.Clear(); //m_AnimationCallFN.Add(E_AniCallType.Attack01, Attack1); //m_AnimationCallFN.Add(E_AniCallType.Attack01, Attack1); m_AnimationCallFNArray = new Action <E_AniCallType> [(int)E_AniCallType.Max]; m_AnimationCallFNArray[(int)E_AniCallType.Attack01] = Attack1; m_AnimationCallFNArray[(int)E_AniCallType.Attack02] = Attack1; m_LinkAnimator = GetComponentInChildren <Animator>(); AttackRange.InitCollisionDetating(this, AttackCollistionEnter); SerchingRange.InitCollisionDetating(this, SerchingCollsionEnter); ActorAniEventCom.SetAnimationCallBackFN(ActorAttackEventCallFN, ActorAttackAniEventCallFN); // 공격 정보 얻기 AttackDataArray.Clear(); AttackData tempattackdata = AttackTableData.GetI.GetAttackDataID(1000); AttackDataArray.Add(tempattackdata); SetDataSetting(); m_ISInit = true; }