Exemple #1
0
 /// <summary>
 /// 開始
 /// </summary>
 public override void Enter()
 {
     base.Enter();
     //活性化
     adjuster.ActivateComponent(this);
     //選択ポリゴンの取得
     selected = adjuster.GetSelected();
     //表示ポップアップの取得
     if (popup == null)
     {
         popup = (ColorEditPopup)editor.ui.popup.GetUI(POPUP_NAME);
         if (popup == null)
         {
             //結果的にPopupが取得できないなら非活性化
             adjuster.DisactivateComponent();
             return;
         }
     }
     //コールバックの設定
     popup.colorEditor.onColorChanged.AddListener(OnColorChanged);
     //ポップアップの表示
     editor.ui.popup.IndicateUI(POPUP_NAME);
     //編集する色を設定
     popup.colorEditor.SetColor(selected.GetPolygonColor());
 }
Exemple #2
0
        /// <summary>
        /// コンテントの追加
        /// </summary>
        private void AddContent(PolyPartsObject polyObj)
        {
            HierarchyUIContent content = InstantiateContent(polyObj);

            //コンテントの追加
            polyObjTable.Add(polyObj, content);
        }
Exemple #3
0
        /// <summary>
        /// ポリゴンオブジェクトの複製を作成する
        /// </summary>
        public PolyPartsObject InstantiateClone(PolyPartsObject polyObj, Vector2 point)
        {
            PolyPartsObject clone = polyObj.InstantiateClone(point);

            //初期化
            InitializePolyObj(clone);

            return(clone);
        }
Exemple #4
0
 /// <summary>
 /// ポリゴンオブジェクトの削除
 /// </summary>
 public void DeletePolyPartsObject(PolyPartsObject polyObj)
 {
     if (polyObjs.Remove(polyObj))
     {
         //コールバック
         onPolyObjDeleted.Invoke(polyObj);
         //削除
         Destroy(polyObj.gameObject);
     }
 }
Exemple #5
0
        /// <summary>
        /// コンテント内のポリゴンの頂点変更
        /// </summary>
        private void PolyObjVertexChanged(PolyPartsObject polyObj)
        {
            if (!polyObjTable.ContainsKey(polyObj))
            {
                return;
            }
            HierarchyUIContent content = polyObjTable[polyObj];

            //コンテントのメッシュを再設定
            content.meshImage.SetEasyMesh(polyObj.GetPolygonEasyMesh());
        }
Exemple #6
0
 /// <summary>
 /// Adjusterの開始
 /// </summary>
 public void Enter(PolyPartsObject polyObj)
 {
     //選択ポリゴンオブジェクトの設定
     SetSelected(polyObj);
     //調整メニューの表示
     editor.ui.sideMenu.IndicateUI(MENU_NAME);
     //選択以外を無効化
     editor.database.DisablePolygons(polyObj);
     //登録してあるコールバックの設定変更
     editor.database.onPolyObjClicked.RemoveListener(OnPolyObjClicked);
 }
Exemple #7
0
        /// <summary>
        /// コンテント内のポリゴンの色変更
        /// </summary>
        private void PolyObjColorChanged(PolyPartsObject polyObj)
        {
            //Contentの取得
            if (!polyObjTable.ContainsKey(polyObj))
            {
                return;
            }
            HierarchyUIContent content = polyObjTable[polyObj];

            //コンテントのメッシュの色を再設定
            content.meshImage.SetColor(polyObj.GetPolygonColor());
        }
Exemple #8
0
        /// <summary>
        /// コンテントの削除
        /// </summary>
        private void DelteContent(PolyPartsObject polyObj)
        {
            if (!polyObjTable.ContainsKey(polyObj))
            {
                return;
            }
            polyObjTable.Remove(polyObj);
            //コンテントの削除
            HierarchyUIContent content = polyObjTable[polyObj];

            Destroy(content.gameObject);
        }
Exemple #9
0
        /// <summary>
        /// ポリゴンオブジェクトの生成
        /// </summary>
        public PolyPartsObject InstantiatePolyObj(List <Vector2> vertices)
        {
            PolyPartsObject polyObj = Instantiate <PolyPartsObject>(prefab);

            //transformなどの設定
            polyObj.SetVertices(vertices);

            //初期化
            InitializePolyObj(polyObj);

            return(polyObj);
        }
Exemple #10
0
        /// <summary>
        /// 開始
        /// </summary>
        public override void Enter()
        {
            base.Enter();
            //コンポーネントを活性化
            adjuster.ActivateComponent(this);
            //選択ポリゴンの取得
            selected = adjuster.GetSelected();
            //コールバックの設定
            selected.onDown.AddListener(OnDown);
            selected.onUp.AddListener(OnUp);

            active = true;
        }
Exemple #11
0
        /// <summary>
        /// Contentの生成
        /// </summary>
        private HierarchyUIContent InstantiateContent(PolyPartsObject polyObj)
        {
            HierarchyUIContent content = Instantiate(prefab);

            content.SetPolyObj(polyObj);
            content.meshImage.SetEasyMesh(polyObj.GetPolygonEasyMesh());
            //transformの設定
            RectTransform rectTrans = (RectTransform)content.transform;

            rectTrans.SetParent(contentsParent, false);
            //上に追加
            rectTrans.SetAsFirstSibling();
            return(content);
        }
Exemple #12
0
        /// <summary>
        /// 開始
        /// </summary>
        public override void Enter()
        {
            base.Enter();
            //コンポーネントを活性化
            adjuster.ActivateComponent(this);
            //選択オブジェクトの取得
            selected = adjuster.GetSelected();
            //スナップ
            polyLineEditor.supporter.Clear();
            polyLineEditor.supporter.AddDefaultSnap();
            polyLineEditor.supporter.Draw();

            active = true;
        }
Exemple #13
0
        /// <summary>
        /// ポリゴンオブジェクトの初期化
        /// </summary>
        private void InitializePolyObj(PolyPartsObject polyObj)
        {
            //親の設定
            polyObj.transform.SetParent(transform);

            //追加
            polyObjs.Add(polyObj);

            //コールバック設定
            polyObj.onClick.AddListener(OnPolyObjClicked);
            polyObj.onVertexChanged.AddListener(OnPolyObjVertexChanged);
            polyObj.onColorChanged.AddListener(OnPolyObjColorChanged);

            //コールバック
            onPolyObjInstantiated.Invoke(polyObj);
        }
Exemple #14
0
        /// <summary>
        /// 開始
        /// </summary>
        public override void Enter()
        {
            base.Enter();
            //コンポーネントを活性化
            adjuster.ActivateComponent(this);
            //選択ポリゴンの取得
            selected = adjuster.GetSelected();
            //選択ポリゴンの無効化
            selected.Disable();
            //ポリラインエディタの頂点調整モードを有効化
            List <Vector2> vertices = selected.GetVertices();

            polyLineEditor.EnableAdjuster(vertices, true);
            //コールバックの設定
            polyLineEditor.onAdjusterExit.RemoveListener(OnAdjustEnd);
            polyLineEditor.onAdjusterExit.AddListener(OnAdjustEnd);
        }
Exemple #15
0
 /// <summary>
 /// 入力確認
 /// </summary>
 private void InputChcek()
 {
     if (Input.GetMouseButtonDown(0))
     {
         //座標確認
         Vector2 point;
         if (polyLineEditor.GetMousePoint(out point))
         {
             //スナップ確認
             Vector2 snapPoint;
             if (polyLineEditor.supporter.Snap(point, out snapPoint))
             {
                 point = snapPoint;
             }
             //コピー
             PolyPartsObject polyObj = editor.database.InstantiateClone(selected, point);
             polyObj.Disable();
         }
     }
 }
Exemple #16
0
 /// <summary>
 /// 選択ポリゴンオブジェクトの設定
 /// </summary>
 private void SetSelected(PolyPartsObject selected)
 {
     this.selected = selected;
 }
Exemple #17
0
 /// <summary>
 /// ポリゴンオブジェクトの生成
 /// </summary>
 private void OnPolyObjInstantiated(PolyPartsObject polyObj)
 {
     AddContent(polyObj);
 }
Exemple #18
0
 /// <summary>
 /// ポリゴンパーツのクリック(Adjuster起動時は呼ばれない)
 /// </summary>
 private void OnPolyObjClicked(PolyPartsObject polyObj)
 {
     Enter(polyObj);
 }
Exemple #19
0
 /// <summary>
 /// ポリゴンオブジェクトの頂点変更
 /// </summary>
 private void OnPolyObjVertexChanged(PolyPartsObject polyObj)
 {
     onPolyObjVertexChanged.Invoke(polyObj);
 }
Exemple #20
0
 /// <summary>
 /// ポリゴンオブジェクトの色変更
 /// </summary>
 private void OnPolyObjColorChanged(PolyPartsObject polyObj)
 {
     onPolyObjColorChanged.Invoke(polyObj);
 }
Exemple #21
0
 /// <summary>
 /// ポリゴンオブジェクトの設定
 /// </summary>
 public void SetPolyObj(PolyPartsObject polyObj)
 {
     this.polyObj = polyObj;
 }
Exemple #22
0
 /// <summary>
 ///ポインタ押上
 /// </summary>
 private void OnUp(PolyPartsObject polyObj)
 {
     EndControl();
 }
Exemple #23
0
 /// <summary>
 /// ポインタ押下
 /// </summary>
 private void OnDown(PolyPartsObject polyObj)
 {
     StartControl();
 }
Exemple #24
0
 /// <summary>
 /// ポインタ押下
 /// </summary>
 private void OnDown(PolyPartsObject polyObj)
 {
     StartDrag();
 }
Exemple #25
0
 /// <summary>
 /// ポインタ押上
 /// </summary>
 private void OnUp(PolyPartsObject polyObj)
 {
     EndDrag();
 }
Exemple #26
0
 /// <summary>
 /// ポリゴンオブジェクトの色変更
 /// </summary>
 private void OnPolyObjColorChanged(PolyPartsObject polyObj)
 {
     PolyObjColorChanged(polyObj);
 }
Exemple #27
0
 /// <summary>
 /// ポリゴンオブジェクトの頂点変更
 /// </summary>
 private void OnPolyObjVertexChanged(PolyPartsObject polyObj)
 {
     PolyObjVertexChanged(polyObj);
 }
Exemple #28
0
 /// <summary>
 /// ポリゴンオブジェクトのクリック
 /// </summary>
 private void OnPolyObjClicked(PolyPartsObject polyObj)
 {
     onPolyObjClicked.Invoke(polyObj);
 }
Exemple #29
0
 /// <summary>
 /// ポリゴンオブジェクトの削除
 /// </summary>
 private void OnPolyObjDeleted(PolyPartsObject polyObj)
 {
     DelteContent(polyObj);
 }
Exemple #30
0
 /// <summary>
 /// 指定したポリゴン以外を無効化する
 /// </summary>
 public void DisablePolygons(PolyPartsObject ignore)
 {
     DisablePolygons();
     ignore.Enable();
 }