Exemple #1
0
    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);
        }
    }
Exemple #2
0
    /// <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);
    }