Exemple #1
0
 public void             dbArrowHideAll(Map.BlockIndex bi)
 {
     for (int i = 0; i < (int)Map.EWSN.NUM; i++)
     {
         this.dbArrowSetVisible(bi, (Map.EWSN)i, false);
     }
 }
Exemple #2
0
    // ================================================================ //
    // 디버그용.

    // 플로어 디버그용 플레인을 표시한다.
    public void             dbSetFloorColor(Map.BlockIndex bi, Color color)
    {
        GameObject debug_go = this.floor_objects[bi.x, bi.z].findChildGameObject("Debug");

        debug_go.SetActive(true);

        debug_go.GetComponent <MeshRenderer>().material.color = color;
    }
Exemple #3
0
        public BlockIndex       get_next(EWSN eswn)
        {
            BlockIndex next = this;

            switch (eswn)
            {
            case EWSN.EAST:         next.x += 1;    break;

            case EWSN.WEST:         next.x -= 1;    break;

            case EWSN.SOUTH:        next.z -= 1;    break;

            case EWSN.NORTH:        next.z += 1;    break;
            }

            return(next);
        }
Exemple #4
0
    public void             dbArrowSetVisible(Map.BlockIndex bi, Map.EWSN ewsn, bool is_visible)
    {
        string arrow_name = "";

        switch (ewsn)
        {
        case Map.EWSN.EAST:             arrow_name = "DebugE";  break;

        case Map.EWSN.WEST:             arrow_name = "DebugW";  break;

        case Map.EWSN.SOUTH:    arrow_name = "DebugS";  break;

        case Map.EWSN.NORTH:    arrow_name = "DebugN";  break;
        }

        if (arrow_name != "")
        {
            GameObject arrow_go = this.floor_objects[bi.x, bi.z].findChildGameObject(arrow_name);

            arrow_go.SetActive(is_visible);
        }
    }
Exemple #5
0
    // 플로어 디버그용 플레인을 비표시한다.
    public void             dbHideFloorColor(Map.BlockIndex bi)
    {
        GameObject debug_go = this.floor_objects[bi.x, bi.z].findChildGameObject("Debug");

        debug_go.SetActive(false);
    }
Exemple #6
0
	// 방을 만든다(1룸).
	public void	create_doors(List<DoorData> door_datas)
	{
		DoorControl		door0, door1;
		Map.BlockIndex	block0_index, block1_index;

		int		n = 0;

		foreach(var data in door_datas) {

			// 양쪽 방에서 사용되지 않은 색 중에서 랜덤하게 선택한다.

			RoomController room0 = get_room_root_go(data.room0).GetComponent<RoomController>();
			RoomController room1 = get_room_root_go(data.room1).GetComponent<RoomController>();

			List<bool>	color_used0 = room0.checkKeyColorsUsed();
			List<bool>	color_used1 = room1.checkKeyColorsUsed();

			List<int>	key_colors = new List<int>();

			for(int i = 0;i < color_used0.Count;i++) {

				if(!color_used0[i] && !color_used1[i]) {

					key_colors.Add(i);
				}
			}

			int		key_type = key_colors[this.random_plant.getRandomInt(key_colors.Count)];

			door0 = null;
			door1 = null;

			// 상하의 방을 잇는 문.
			if(data.room0.x == data.room1.x) {

				block0_index = new Map.BlockIndex(data.local_position, BLOCK_GRID_ROWS_NUM - 1);
				block1_index = new Map.BlockIndex(data.local_position, 0);

				// 상(북).
				if(data.room1.z == data.room0.z + 1) {

					door0 = this.create_door(data.type, data.room0, block0_index, Map.EWSN.NORTH, key_type);
					door1 = this.create_door(data.type, data.room1, block1_index, Map.EWSN.SOUTH, key_type);
				}
				// 하(남).
				if(data.room1.z == data.room0.z - 1) {

					door0 = this.create_door(data.type, data.room0, block1_index, Map.EWSN.SOUTH, key_type);
					door1 = this.create_door(data.type, data.room1, block0_index, Map.EWSN.NORTH, key_type);
				}
			}

			// 좌우 방을 잇는 문.
			if(data.room0.z == data.room1.z) {

				block0_index = new Map.BlockIndex(BLOCK_GRID_COLUMNS_NUM - 1, data.local_position);
				block1_index = new Map.BlockIndex(0,                          data.local_position);

				// 동(우).
				if(data.room1.x == data.room0.x + 1) {

					door0 = this.create_door(data.type, data.room0, block0_index, Map.EWSN.EAST, key_type);
					door1 = this.create_door(data.type, data.room1, block1_index, Map.EWSN.WEST, key_type);
				}
				// 서(좌).
				if(data.room1.x == data.room0.x - 1) {

					door0 = this.create_door(data.type, data.room0, block1_index, Map.EWSN.WEST, key_type);
					door1 = this.create_door(data.type, data.room1, block0_index, Map.EWSN.EAST, key_type);
				}
			}

			if(door0 != null && door1 != null) {

				door0.connect_to = door1;
				door1.connect_to = door0;
			}

			n++;
		}
	}
Exemple #7
0
 public static bool isEqual(BlockIndex value0, BlockIndex value1)
 {
     return((value0.x == value1.x) && (value0.z == value1.z));
 }
Exemple #8
0
		public static bool isEqual(BlockIndex value0, BlockIndex value1)
		{
			return((value0.x == value1.x) && (value0.z == value1.z));
		}