void show_preview() { for (int i = 0; i < this.preview_slots.Count; ++i) { this.preview_slots[i].sprite = CFlagSpriteManager.Instance.get_blank_sprite(); this.preview_slots[i].SetNativeSize(); this.preview_slots[i].gameObject.SetActive(false); } bool visible_flag = get_current_stage_attr().visible_flag; List <CTableStage> stage_data = CTableStage.find_stage_data(get_current_stage_attr().stage_pair); for (int i = 0; i < stage_data.Count; ++i) { CTableFlags flag = CTableDataManager.Instance.flags.Find(obj => obj.flag_index == stage_data[i].flag_index); this.preview_slots[i].sprite = CFlagSpriteManager.Instance.find_sprite(flag.resource); if (visible_flag) { Color color = this.preview_slots[i].color; color.a = 1.0f; this.preview_slots[i].color = color; } else { Color color = this.preview_slots[i].color; color.a = 0.3f; this.preview_slots[i].color = color; } this.preview_slots[i].SetNativeSize(); this.preview_slots[i].gameObject.SetActive(true); } }
/// <summary> /// 스테이지에 맞는 적군 하나를 랜덤으로 생성한다. /// </summary> void generate(float x) { List <CTableStage> stage_data = CGameLogic.Instance.get_current_stage_data(); int index = UnityEngine.Random.Range(0, stage_data.Count); // 계층 구조 설정. GameObject enemy = this.pool_enemy.pop(); Transform enemy_parent = CUIManager.Instance.get_uipage(UI_PAGE.PLAY_ROOM).GetComponent <CPlayRoom>().enemy_parent; enemy.transform.SetParent(enemy_parent); enemy.SetActive(true); enemy.GetComponent <RectTransform>().localPosition = new Vector3(x, 500, 0); enemy.transform.localScale = Vector3.one; // 기본 속성 설정. enemy.GetComponent <CMovableObject>().update_speed(this.current_stage_attribute.speed); enemy.GetComponent <CMovableObject>().update_speed_ratio(this.skill_manager.speed_ratio); // 국기 이미지 설정. CTableStage stage = stage_data[index]; Sprite sprite = CFlagSpriteManager.Instance.find_sprite(stage.flag.resource); enemy.GetComponent <CEnemy>().update_flag(stage.flag, sprite, this.current_stage_attribute.visible_flag); this.live_objects.Add(enemy); }