Ejemplo n.º 1
0
    public bool _bActAccess = true;         // 오브젝트들의 행동 제어

    /**
     * @brief 플레이어 구분 코드에 맞는 색을 반환
     * @param int uniqueNumber 플레이어 구분 코드
     */
    public Color GetUserColor(int uniqueNumber)
    {
        Color color = Color.white;

        ColorUtility.TryParseHtmlString(CustomColor.TransColor(NetworkMng.getInstance.myColor), out color); for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
        {
            if (NetworkMng.getInstance.v_user[i].uniqueNumber.Equals(uniqueNumber))
            {
                ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
                break;
            }
        }
        return(color);
    }
Ejemplo n.º 2
0
    /**
     * @brief 같이 플레이 중인 유저 목록들 보여주기
     * @param uniqueNumber 현재 턴의 유저
     */
    public void UserListRefresh(int uniqueNumber)
    {
        Color color;

        for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
        {
            ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
            playerListImg[i].gameObject.SetActive(true);
            playerListImg[i].color    = color;
            playerListTribe[i].sprite = tribeSprites[(int)NetworkMng.getInstance.v_user[i].tribe];
            playerListName[i].text    = NetworkMng.getInstance.v_user[i].nickName;
            if (NetworkMng.getInstance.v_user[i].uniqueNumber.Equals(uniqueNumber))
            {
                playerListImg[i].transform.localScale = new Vector3(1.3f, 1.3f, 1);
            }
            else
            {
                playerListImg[i].transform.localScale = new Vector3(1, 1, 1);
            }
        }
    }
Ejemplo n.º 3
0
    public void roomRefresh()
    {
        for (int i = 1; i < players.Length; i++)
        {
            players[i].SetActive(false);
        }

        int countingMember = 1;

        // 색 순서만큼
        for (int i = 0; i < 9; i++)
        {
            colorBT[i].interactable = true;
        }

        Color color;

        for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
        {
            ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
            colorBT[NetworkMng.getInstance.v_user[i].color].interactable = false;

            // 다른사람꺼
            if (!NetworkMng.getInstance.v_user[i].uniqueNumber.Equals(NetworkMng.getInstance.uniqueNumber))
            {
                players[countingMember].SetActive(true);
                playersName[countingMember].text   = NetworkMng.getInstance.v_user[i].nickName;
                tribeImages[countingMember].sprite = tribeSprites[NetworkMng.getInstance.v_user[i].tribe];
                colorImages[countingMember].color  = color;
                countingMember++;
            }
            // 내꺼
            else
            {
                tribeImages[0].sprite = tribeSprites[NetworkMng.getInstance.v_user[i].tribe];
                colorImages[0].color  = color;
            }
        }
        nowMem = (NetworkMng.getInstance.v_user.Count) + "";
    }
Ejemplo n.º 4
0
    /**
     * @brief 턴이 변경 되었을때 호출
     * @param uniqueNumber 변경될 유저의 고유 번호
     */
    public void turnManage(int uniqueNumber)
    {
        Color color;

        countDel();
        refreshMainUI();
        UserListRefresh(uniqueNumber);

        /// 유지비가 - 가 되었다면 디버프 행동 추가
        // 행동 불능으로 만든다거나
        // 죽게 만든다던가

        // 누구 차례인지 뿌려주기
        if (NetworkMng.getInstance.uniqueNumber == uniqueNumber)
        {
            this.myTurn            = true;
            this.turnDescText.text = "내 차례";
            ColorUtility.TryParseHtmlString(CustomColor.TransColor(NetworkMng.getInstance.myColor), out color);
            turnDescImage.color = color;
            enemySelectedTile.gameObject.transform.position = new Vector3(-100, -100, 0);
            if (selectedTile != null)
            {
                NetworkMng.getInstance.SendMsg(string.Format("SELECTING:{0}:{1}", selectedTile.PosX, selectedTile.PosZ));
            }
            return;
        }
        cleanActList();
        this.myTurn = false;
        for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
        {
            if (NetworkMng.getInstance.v_user[i].uniqueNumber.Equals(uniqueNumber))
            {
                this.turnDescText.text = NetworkMng.getInstance.v_user[i].nickName + " 차례";
                ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
                turnDescImage.color = color;
                break;
            }
        }
    }
Ejemplo n.º 5
0
    public void init()
    {
        _gold   = 100;
        _nowMem = 0;
        _maxMem = 0;

        setMainInterface(false, false, false);

        if (NetworkMng.getInstance.uniqueNumber == NetworkMng.getInstance.firstPlayerUniqueNumber)
        {
            myTurn = true;
        }

        // 턴제 함수에 빈 함수 넣어줌 (안 넣어주면 초기 실행시 에러나기 때문)
        AddDelegate(SampleTurnFunc);

        // 같이 플레이 중인 유저 목록들 보여주기
        UserListRefresh(NetworkMng.getInstance.firstPlayerUniqueNumber);

        // 누구 턴인지 색 변경
        Color color;

        for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
        {
            if (NetworkMng.getInstance.v_user[i].uniqueNumber.Equals(NetworkMng.getInstance.firstPlayerUniqueNumber))
            {
                ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
                turnDescImage.color = color;
                break;
            }
        }

        // 내 깃발 정보를 표시해줌
        myFlagNickname.text = NetworkMng.getInstance.nickName;
        ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.myColor), out color);
        myFlagImage.color  = color;
        myFlagTribe.sprite = tribeSprites[(int)NetworkMng.getInstance.myTribe];
    }
Ejemplo n.º 6
0
    /**
     * @brief 오브젝트를 클릭했을때
     * @param tile 클릭한 타일 오브젝트
     */
    public void clickTile(Tile tile)
    {
        cleanActList();
        mainBarObj.SetActive(true);

        objImage.transform.localScale = Vector3.one;

        // 유닛이 없다면 정적인 타일이란 뜻
        if (tile._unitObj == null && tile._builtObj == null)
        {
            maskImage.color    = Color.white;
            objectNameTxt.text = tile._name;
            objectDescTxt.text = tile._desc;

            objImage.sprite = getObjSprite(tile._code);
            setMainInterface(false, false);
            objImage.SetNativeSize();

            NetworkMng.getInstance._soundGM.tileClick();

            return;
        }

        DynamicObject obj;

        if (tile._unitObj)
        {
            obj             = tile._unitObj;
            objImage.sprite = getObjSprite(tile._unitObj._code);

            setMainInterface();
            objImage.SetNativeSize();
            NetworkMng.getInstance._soundGM.unitClick(obj._code);

            damageText.text    = tile._unitObj._damage.ToString();
            maintCostText.text = tile._unitObj.maintenanceCost.ToString();
        }
        else
        {
            logoImage[2].sprite = foodImage.sprite;
            obj = tile._builtObj;
            //타일에 있는 건물의 코드의 따른 스프라이트 변경, 로고 text 켜고 끄기
            objImage.sprite = getObjSprite(tile._builtObj._code);
            NetworkMng.getInstance._soundGM.builtClick();

            if (obj._code == (int)BUILT.ATTACK_BUILDING)
            {
                damageText.text     = Turret.attack.ToString();
                maintCostText.text  = Turret.maintenanceCost.ToString();
                logoImage[2].sprite = costImg[0].sprite;
            }

            if (selectedTile._code == (int)BUILT.CASTLE)
            {
                objImage.transform.localScale = Vector3.one;
                objImage.SetNativeSize();
            }
            else
            {
                objImage.transform.localScale = new Vector3(2f, 2f, 1f);
                objImage.SetNativeSize();
            }
        }

        objectNameTxt.text = obj._name;
        objectDescTxt.text = obj._desc;

        hpText.text = (tile._unitObj ? tile._unitObj._hp : tile._builtObj._hp) + "" + " / " + (tile._unitObj ? tile._unitObj._max_hp : tile._builtObj._max_hp);
        //damageText.text = tile._unitObj._damage + "";

        Color color;

        if (tile._builtObj != null || tile._unitObj != null)
        {
            for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
            {
                if (obj._uniqueNumber.Equals(NetworkMng.getInstance.v_user[i].uniqueNumber))
                {
                    ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
                    maskImage.color = color;
                }
            }
        }

        if (obj._uniqueNumber.Equals(NetworkMng.getInstance.uniqueNumber) && myTurn)
        {
            // 행동을 가진 오브젝트는 actList 를 뿌려줘야 함
            // 1. _unitObj 로 부터 해당 유닛이 가진 행동의 량을 가져옴
            for (int i = 0; i < obj._activity.Count; i++)
            {
                // 2. 그만큼 actList 를 active 함
                actList[i].gameObject.SetActive(true);
                UnityEngine.UI.Text[] childsTxt = actList[i].GetComponentsInChildren <UnityEngine.UI.Text>();
                try
                {
                    // 3. actList 의 내용들을 변경해 줘야함
                    checkActivity(obj._activity[i], actList[i], childsTxt[0], childsTxt[1], frameImg[i], childsTxt[2], costImg[i]);
                }
                catch
                {
                    Debug.LogError("childTxt 의 인덱스 값이 옳지 않음");
                }
            }
        }
    }
Ejemplo n.º 7
0
    /**
     * @brief 메인 UI
     * @param onActList ActList 활성화를 수락할지
     */
    public void refreshMainUI(bool onActList = true)
    {
        if (selectedTile == null)
        {
            return;
        }

        // 누르고 있던 오브젝트가 있다면 턴이 지나고 바꼈을 가능성이 있으니 새로고침 해주기
        DynamicObject obj = null;

        if (selectedTile._unitObj != null)
        {
            obj = selectedTile._unitObj; setMainInterface();
        }
        else if (selectedTile._builtObj != null)
        {
            obj = selectedTile._builtObj;
            if (obj._code.Equals(BUILT.ATTACK_BUILDING))
            {
                setMainInterface();
            }
            else
            {
                setMainInterface(true, false);
            }
        }

        // 내 턴이 아닐떄 건물이나 유닛이 어떤 행동을 했는지 새로고침
        if (obj != null)
        {
            objImage.sprite = getObjSprite(obj._code);
            for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
            {
                if (NetworkMng.getInstance.v_user[i].uniqueNumber.Equals(obj._uniqueNumber))
                {
                    Color color;
                    ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
                    maskImage.color = color;
                    break;
                }
            }
            objectNameTxt.text = obj._name;
            objectDescTxt.text = obj._desc;
            hpText.text        = obj._hp + " / " + obj._max_hp;

            if (onActList && myTurn)
            {
                for (int i = 0; i < obj._activity.Count; i++)
                {
                    actList[i].gameObject.SetActive(true);
                    UnityEngine.UI.Text[] childsTxt = actList[i].GetComponentsInChildren <UnityEngine.UI.Text>();
                    try
                    {
                        checkActivity(obj._activity[i], actList[i], childsTxt[0], childsTxt[1], frameImg[i], childsTxt[2], costImg[i]);
                    }
                    catch
                    {
                        Debug.LogError("childTxt 의 인덱스 값이 옳지 않음");
                    }
                }
            }
        }
        // 내 턴이 아닐때 타일에 어떤 반응이 있는지 새로고침 (빈타일 일때)
        else
        {
            // 이동했거나 사망했음. 빈타일임 (내가 한 행동이였다면 바꿀 필요가 없음)
            objImage.sprite    = getObjSprite(selectedTile._code);
            maskImage.color    = Color.white;
            objectNameTxt.text = selectedTile._name;
            objectDescTxt.text = selectedTile._desc;
            setMainInterface(false, false);
        }
    }
Ejemplo n.º 8
0
    // 버그 없으면 지울것
    //public void imActing()
    //{
    //    this.myTurnCount++;

    //    if (this.myMaxTurnCount == this.myTurnCount)
    //    {
    //        this.myTurnCount = 0;
    //        // 턴 교체
    //        // 원래라면 인원수에 따라 바뀌지만 테스트 용으로 2인플레이라 생각하고 turn 바꿔주는중
    //        this.myTurn = !this.myTurn;
    //    }
    //    this.turnCountText.text = this.myTurnCount + " / " + this.myMaxTurnCount;
    //    this.turnDescText.text = this.myTurn ? "내 차례" : "상대 차례";
    //}

    /**
     * @brief 턴이 변경 되었을때 호출
     * @param uniqueNumber 변경될 유저의 고유 번호
     */
    public void turnManage(int uniqueNumber)
    {
        Color color;

        countDel();
        UserListRefresh(uniqueNumber);

        // 유지비가 - 가 되었다면 디버프 행동 추가
        if (_food < 0)
        {
            countHungry++;
            //debuffImg.enabled = true;
            debuffImg.color = Color.white;
            debufFoodIcon.SetActive(true);
        }
        else
        {
            countHungry = 0;
            //debuffImg.enabled = false;
            debuffImg.color = Color.clear;
            debufFoodIcon.SetActive(false);
        }
        if (RandomCount == 0)
        {
            // 1~10턴 중에 랜덤
            RandomCount = Random.Range(1, 51);
        }
        else
        {
            // 나중에 더 좋은 방법이 있으면 변경
            if (TurnCount % RandomCount == 0)
            {
                // 턴을 카운트해서 특정 턴마다 생성
                _BuiltGM.CreateAirDrop(Random.Range(0, _hextile.cells.Length));
                RandomCount = 0;
            }
        }

        TurnCount++;

        /// 유지비가 - 가 되었다면 디버프 행동 추가
        // 행동 불능으로 만든다거나
        // 죽게 만든다던가

        // 누구 차례인지 뿌려주기
        if (NetworkMng.getInstance.uniqueNumber == uniqueNumber)
        {
            this.myTurn            = true;
            this.turnDescText.text = "내 차례";
            refreshMainUI();

            ColorUtility.TryParseHtmlString(CustomColor.TransColor(NetworkMng.getInstance.myColor), out color);
            turnDescImage.color = color;

            enemySelectedTile.gameObject.transform.position = new Vector3(-100, -100, 0);

            if (selectedTile != null)
            {
                NetworkMng.getInstance.SendMsg(string.Format("SELECTING:{0}:{1}", selectedTile.PosX, selectedTile.PosZ));
            }

            myTurnEffect.SetActive(true);
            turnSkipBT.SetActive(true);

            NetworkMng.getInstance._soundGM.myTurnEffect();

            return;
        }

        cleanActList();
        this.myTurn = false;
        refreshMainUI(false);

        for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
        {
            if (NetworkMng.getInstance.v_user[i].uniqueNumber.Equals(uniqueNumber))
            {
                this.turnDescText.text = NetworkMng.getInstance.v_user[i].nickName + " 차례";

                ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
                turnDescImage.color = color;

                myTurnEffect.SetActive(false);
                turnSkipBT.SetActive(false);

                break;
            }
        }
    }
Ejemplo n.º 9
0
    public void init()
    {
        _gold   = 100;
        _food   = 100;
        _nowMem = 0;
        _maxMem = 0;

        goldText.text = _gold.ToString();
        foodText.text = _food.ToString();

        setMainInterface(false, false, false);

        if (NetworkMng.getInstance.uniqueNumber == NetworkMng.getInstance.firstPlayerUniqueNumber)
        {
            myTurn = true;
            turnSkipBT.SetActive(true);
        }

        // 턴제 함수에 빈 함수 넣어줌 (안 넣어주면 초기 실행시 에러나기 때문)
        AddDelegate(SampleTurnFunc);

        // 같이 플레이 중인 유저 목록들 보여주기
        UserListRefresh(NetworkMng.getInstance.firstPlayerUniqueNumber);

        audioSlider.value  = NetworkMng.getInstance._soundGM.audioVolume;
        effectSlider.value = NetworkMng.getInstance._soundGM.effectVolume;

        debuffImg.enabled = false;

        // 누구 턴인지 색 변경
        Color color;

        for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
        {
            if (NetworkMng.getInstance.v_user[i].uniqueNumber.Equals(NetworkMng.getInstance.firstPlayerUniqueNumber))
            {
                ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
                turnDescImage.color = color;
                break;
            }
        }

        // 내 깃발 정보를 표시해줌
        myFlagNickname.text = NetworkMng.getInstance.nickName;
        ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.myColor), out color);
        myFlagImage.color  = color;
        myFlagTribe.sprite = tribeSprites[(int)NetworkMng.getInstance.myTribe];

        // 게임 시작 로그 남기기
        addLogMessage("시스템", "게임이 시작되었습니다.");

        // 내 종족 오브젝트의 코스트를 설정
        switch ((int)NetworkMng.getInstance.myTribe)
        {
        case 0:        // 숲 종족
            WORKER_COST       = 4;
            SOLDIER_0_COST    = 4;
            SOLDIER_1_COST    = 5;
            SOLDIER_2_COST    = 3;
            WITCH_0_COST      = 6;
            WITCH_1_COST      = 7;
            TURRET_COST       = 3;
            FARM_COST         = 2;
            MINE_COST         = 2;
            MILITARYBASE_COST = 4;
            break;

        case 1:        // 물 종족
            WORKER_COST       = 4;
            SOLDIER_0_COST    = 5;
            SOLDIER_1_COST    = 4;
            SOLDIER_2_COST    = 6;
            WITCH_0_COST      = 6;
            WITCH_1_COST      = 8;
            TURRET_COST       = 3;
            FARM_COST         = 3;
            MINE_COST         = 2;
            MILITARYBASE_COST = 5;
            break;

        case 2:        // 사막 종족
            WORKER_COST       = 4;
            SOLDIER_0_COST    = 5;
            SOLDIER_1_COST    = 5;
            SOLDIER_2_COST    = 4;
            WITCH_0_COST      = 5;
            WITCH_1_COST      = 6;
            TURRET_COST       = 4;
            FARM_COST         = 2;
            MINE_COST         = 2;
            MILITARYBASE_COST = 5;
            break;
        }
    }
Ejemplo n.º 10
0
    /**
     * @brief 오브젝트를 클릭했을때
     * @param tile 클릭한 타일 오브젝트
     */
    public void clickTile(Tile tile)
    {
        cleanActList();
        // 유닛이 없다면 정적인 타일이란 뜻

        if (tile._unitObj == null && tile._builtObj == null)
        {
            cleanActList();

            maskImage.color      = Color.white;
            objectNameTxt.text   = tile._name;
            objectDescTxt.text   = tile._desc;
            hpText.enabled       = false;
            damageText.enabled   = false;
            logoImage[0].enabled = false;                                                   //Hp로고 이미지 꺼둠
            logoImage[1].enabled = false;                                                   //데미지 로고 이미지 꺼둠

            NetworkMng.getInstance._soundGM.tileClick();

            objImage.enabled      = true;
            objectNameTxt.enabled = true;
            objectDescTxt.enabled = true;

            switch (tile._code)                                                              //클릭한 타일의 코드에 따른 스프라이트값 조정
            {
            case (int)TILE.GRASS:
                objImage.sprite = objSprite[4];
                break;

            case (int)TILE.SAND:
                objImage.sprite = objSprite[5];
                break;

            case (int)TILE.DIRT:
                objImage.sprite = objSprite[6];
                break;

            case (int)TILE.MARS:
                objImage.sprite = objSprite[7];
                break;

            case (int)TILE.STONE:
                objImage.sprite = objSprite[8];
                break;

            case (int)TILE.SEA_01:
                objImage.sprite = objSprite[9];
                break;

            case (int)TILE.SEA_02:
                objImage.sprite = objSprite[9];
                break;

            case (int)TILE.SEA_03:
                objImage.sprite = objSprite[9];
                break;
            }
            return;
        }
        DynamicObject obj;

        if (tile._unitObj)
        {
            obj = tile._unitObj;
            switch (tile._unitObj._code)
            {
            case (int)UNIT.FOREST_WORKER:
                objImage.sprite = objSprite[10];
                break;

            case (int)UNIT.FORSET_SOILDER:
                objImage.sprite = objSprite[11];
                break;
            }
            setMainInterface(true);
        }
        else
        {
            obj = tile._builtObj;
            switch (tile._builtObj._code)        //타일에 있는 건물의 코드의 따른 스프라이트 변경, 로고 text 켜고 끄기
            {
            case (int)BUILT.MINE:
                objImage.sprite       = objSprite[0];
                hpText.enabled        = true;
                damageText.enabled    = false;
                logoImage[0].enabled  = true;
                logoImage[1].enabled  = false;
                objImage.enabled      = true;
                objectNameTxt.enabled = true;
                objectDescTxt.enabled = true;
                break;

            case (int)BUILT.FARM:
                objImage.sprite       = objSprite[1];
                hpText.enabled        = true;
                damageText.enabled    = false;
                logoImage[0].enabled  = true;
                logoImage[1].enabled  = false;
                objImage.enabled      = true;
                objectNameTxt.enabled = true;
                objectDescTxt.enabled = true;
                break;

            case (int)BUILT.ATTACK_BUILDING:
                objImage.sprite       = objSprite[2];
                hpText.enabled        = true;
                damageText.enabled    = true;
                logoImage[0].enabled  = true;
                logoImage[1].enabled  = true;
                objImage.enabled      = true;
                objectNameTxt.enabled = true;
                objectDescTxt.enabled = true;
                break;

            case (int)BUILT.CASTLE:
                objImage.sprite       = objSprite[3];
                hpText.enabled        = true;
                damageText.enabled    = false;
                logoImage[0].enabled  = true;
                logoImage[1].enabled  = false;
                objImage.enabled      = true;
                objectNameTxt.enabled = true;
                objectDescTxt.enabled = true;
                break;

            case (int)BUILT.AIRDROP:
                objImage.sprite       = objSprite[13];
                hpText.enabled        = false;
                damageText.enabled    = false;
                logoImage[0].enabled  = false;
                logoImage[1].enabled  = false;
                objImage.enabled      = true;
                objectNameTxt.enabled = true;
                objectDescTxt.enabled = true;
                break;

            case (int)BUILT.MILLITARY_BASE:
                objImage.sprite       = objSprite[14];
                hpText.enabled        = true;
                damageText.enabled    = false;
                logoImage[0].enabled  = true;
                logoImage[1].enabled  = false;
                objImage.enabled      = true;
                objectNameTxt.enabled = true;
                objectDescTxt.enabled = true;
                break;
            }
        }

        objectNameTxt.text = obj._name;
        objectDescTxt.text = obj._desc;

        hpText.text = (tile._unitObj ? tile._unitObj._hp : tile._builtObj._hp) + "" + " / " + (tile._unitObj ? tile._unitObj._hp : tile._builtObj._hp); //나중에 최대체력, 현재체력 구분할 것
        NetworkMng.getInstance._soundGM.unitClick(UNIT.FOREST_WORKER);
        //damageText.text = tile._unitObj._damage + "";

        Color color;

        if (tile._builtObj != null || tile._unitObj != null)
        {
            for (int i = 0; i < NetworkMng.getInstance.v_user.Count; i++)
            {
                if (obj._uniqueNumber.Equals(NetworkMng.getInstance.v_user[i].uniqueNumber))
                {
                    Debug.Log("in");
                    ColorUtility.TryParseHtmlString(CustomColor.TransColor((COLOR)NetworkMng.getInstance.v_user[i].color), out color);
                    maskImage.color = color;
                }
            }
        }

        if (obj._uniqueNumber.Equals(NetworkMng.getInstance.uniqueNumber) && myTurn)
        {
            // 행동을 가진 오브젝트는 actList 를 뿌려줘야 함
            // 1. _unitObj 로 부터 해당 유닛이 가진 행동의 량을 가져옴
            for (int i = 0; i < obj._activity.Count; i++)
            {
                // 2. 그만큼 actList 를 active 함
                actList[i].gameObject.SetActive(true);
                UnityEngine.UI.Text[] childsTxt = actList[i].GetComponentsInChildren <UnityEngine.UI.Text>();
                try
                {
                    // 3. actList 의 내용들을 변경해 줘야함
                    checkActivity(obj._activity[i], actList[i], childsTxt[0], childsTxt[1]);
                }
                catch
                {
                    Debug.LogError("childTxt 의 인덱스 값이 옳지 않음");
                }
            }
        }
    }