示例#1
0
    public void Execute(TranformationManager manager, ModulationEditionTool tool, RaycastHit hit)
    {
        var target = hit.collider.gameObject;

        if (target.transform.parent != null && target.transform.parent.name == "Snaps")
        {
            return;
        }
        if (target.name == "x" || target.name == "y" || target.name == "z" || target.name == "RotationAxis" || target.name == "SingleAxis")
        {
            return;
        }

        if (_tm.Target != null)
        {
            _tm.Target.GetComponent <MeshRenderer> ().material = _pm;
        }

        _pm = target.GetComponent <MeshRenderer> ().material;
        target.GetComponent <MeshRenderer> ().material = _sm;
        _tm.Target         = target;
        _tm.TargetPosition = target.transform.position;
        _tm.TargetRotation = target.transform.rotation;
        _tm.state          = TranformationManager.State.SET_TARGET;
    }
示例#2
0
    void Start()
    {
        manager    = GetComponent <TranformationManager> ();
        _moveGizmo = Instantiate(moveGizmo);

        empty   = new GameObject();
        _target = empty;
        _moveGizmo.SetActive(false);
    }
示例#3
0
 void Awake()
 {
     manager     = GetComponent <TranformationManager> ();
     rotateGizmo = Instantiate(generalRotationGizmo);
     axisGizmo   = Instantiate(completeRotationGizmo);
     empty       = new GameObject();
     target      = empty;
     rotateGizmo.SetActive(false);
     axisGizmo.SetActive(false);
 }
        public void Execute(TranformationManager manager, ModulationEditionTool tool, RaycastHit hit)
        {
            if (hit.transform == null)
            {
                return;
            }

            var rotationTool = tool as RotationTool;

            rotationTool.Gizmo.SetActive(true);
            rotationTool.allAxis.SetActive(true);
            rotationTool.singleAxis.SetActive(false);

            rotationTool.Gizmo.transform.position = manager.Target.transform.position;
            manager.state = TranformationManager.State.SET_TRANSFORMATION;
        }
示例#5
0
    // new panel target
    public void Execute(TranformationManager manager, ModulationEditionTool tool, GameObject newPanel)
    {
        if (newPanel.name == "x" || newPanel.name == "y" || newPanel.name == "z" || newPanel.name == "RotationAxis" || newPanel.name == "SingleAxis")
        {
            return;
        }

        if (_tm.Target != null)
        {
            _tm.Target.GetComponent <MeshRenderer> ().material = _pm;
        }

        _pm = newPanel.GetComponent <MeshRenderer> ().material;
        newPanel.GetComponent <MeshRenderer> ().material = _sm;
        _tm.Target         = newPanel;
        _tm.TargetPosition = newPanel.transform.position;
        _tm.TargetRotation = newPanel.transform.rotation;
        _tm.state          = TranformationManager.State.SET_TARGET;
    }
示例#6
0
        public void Execute(TranformationManager manager, ModulationEditionTool tool, RaycastHit hit)
        {
            if (hit.transform == null)
            {
                return;
            }
            tool.Gizmo.SetActive(true);
            tool.Gizmo.transform.position = hit.transform.position;
            manager.state = TranformationManager.State.SET_TRANSFORMATION;

            var snaps = tool.Gizmo.transform.FindChild("Snaps");

            var comp = hit.transform.gameObject.GetComponent <WallPanelInfo> ();
            var p    = hit.transform.position;
            var p1   = p + comp.height * hit.transform.up;
            var p2   = p + -comp.width * hit.transform.right;
            var p3   = p + -comp.width * hit.transform.right + comp.height * hit.transform.up;

            snaps.FindChild("2").transform.position = p1;
            snaps.FindChild("3").transform.position = p2;
            snaps.FindChild("4").transform.position = p3;
        }
示例#7
0
 public void Execute(TranformationManager manager, ModulationEditionTool tool, RaycastHit hit)
 {
 }
示例#8
0
 public SetTargetCommand(TranformationManager tm, Material selectedMaterial)
 {
     _sm = selectedMaterial;
     _tm = tm;
 }
示例#9
0
 public void Execute(TranformationManager manager, ModulationEditionTool tool, RaycastHit hit)
 {
     _target = manager.Target;
     Destroy(manager.Target);
 }
示例#10
0
 public DeleteModulationItem(TranformationManager tm)
 {
     _tm = tm;
 }