Example #1
0
    // add charic
    public Charic Charic_add(int _id, int _table_index, Charic.eType _type)
    {
        Charic kCharic = new Charic();

        switch ((Charic.eType)_type)
        {
        case Charic.eType.Hero:
        case Charic.eType.Enemy:
        case Charic.eType.Boss:
        default:
        {
            kCharic.ID    = _id;      //id
            kCharic.kType = (Charic.eType)_type;
            //kCharic.kGO = _go;
            //kCharic.kTable = CGameTable.Instance.Get_TableInfo_charic(_table_index);
            //kCharic.kGO = CGame.Instance.GameObject_from_prefab("Prefabs/" + kCharic.kTable.resource, null);
            kCharic.kGO.name = "charic_" + kCharic.ID;


            //kCharic.kGO.name = "charic_" + _table_index;
            //kCharic.kGO.transform.localScale = new Vector3(kCharic.kTable.scale, kCharic.kTable.scale, kCharic.kTable.scale);

            //kCharic.kEC = (EffectController)kGO.AddComponent<EffectController>();
            //kCharic.kEC.kGameObject = kCharic.gameObject;
        }
        break;
        }

        //Charic_gameobject_set( kCharic ); //client


        kCharicList.Add(kCharic);
        return(kCharic);
    }
Example #2
0
 //find
 public Charic Charic_find(int _id)
 {
     for (int i = 0; i < kCharicList.Count; i++)
     {
         Charic obj = (Charic)kCharicList[i];
         if (obj == null)
         {
             continue;              //캐릭 사라지는 경우.
         }
         if (obj.ID == _id)
         {
             return(obj);
         }
     }
     return(null);
 }
Example #3
0
    // 필요한 캐릭터를 반환 ------------------------------------------ 20170413
    public ArrayList FindTarget(Charic _charic)
    {
        ArrayList TargetArray = new ArrayList();
        ArrayList SortArray   = new ArrayList(); //조건에 맞추어 정렬.

        foreach (Charic kCharic in kCharicList)
        {
            if (kCharic.bActive == false)
            {
                continue;
            }
            if (kCharic.ID == _charic.ID)
            {
                continue;                           //자신제외
            }
            if (kCharic.kType == _charic.kType)
            {
                continue;                                 //아군 제외.
            }
            if (kCharic.IsDie())
            {
                continue;
            }

            //float fDistance = Vector3.Distance(kCharic.kGO.transform.position, _charic.kGO.transform.position);

            //SortArray.Add(new SortunitClass() { m_value1 = fDistance, m_charic = kCharic });
        }

        if (SortArray.Count > 0)
        {
            // 작은 순서대로 정렬.
            SortArray.Sort(new SortunitClassCompare());

            foreach (SortunitClass sort in SortArray)
            {
                TargetArray.Add(sort.m_charic);
            }
        }

        return(TargetArray);
    }
Example #4
0
 //remove
 public void Charic_remove(Charic _charic)
 {
     Destroy(_charic.kGO);
     kCharicList.Remove(_charic);
 }