public virtual void Init(GameMapManager.Attack_Data attack_Data, float radius, IGameUnitBattleFun gameUnitBattleFun)
 {
     maxDetectable_Range = attack_Data.maxDetectable_Range;
     string[] attack_Priority = attack_Data.attack_Priority.Split(',');
     _attackPriority = new CollisionDetectionType[attack_Priority.Length];
     for (int i = 0; i < attack_Priority.Length; ++i)
     {
         _attackPriority[i] = EnumChange <CollisionDetectionType> .StringToEnum(attack_Priority[i]);
     }
     this.radius        = radius;
     _gameUnitBattleFun = gameUnitBattleFun;
 }
Esempio n. 2
0
 protected override void Init()
 {
     base.Init();
     navMeshAgent = GetComponent <NavMeshAgent>();
     if (Object_Camp == CampEnum.Alliance)
     {
         EnemyLayer = 9;
     }
     else
     {
         EnemyLayer = 8;
     }
     attack_Data          = GameMapManager.Instance.GetAttackData(Object_UnitName.ToString());
     StopToAttackDistance = attack_Data.maxDetectable_Range;
     shell_Type           = attack_Data.shell_Type;
     shell_Damage         = attack_Data.shell_Damage;
     attack_Speed         = attack_Data.attack_Speed;
     if (transform.Find("Detector") != null)
     {
         enemyDetection = transform.Find("Detector").GetComponent <EnemyDetection>();
         enemyDetection.Init(attack_Data, Object_Radius, GetComponent <IGameUnitBattleFun>());
     }
 }