public void ObjArrayControll(ref GameObject[] targetArray, EditorDirect direction, EditorAct action, GameObject newObj = null) { var tmpList = new List <GameObject>(); if (action == EditorAct.Add) { tmpList.AddRange(targetArray); if (direction == EditorDirect.Up) { tmpList.Insert(0, newObj); } else { tmpList.Add(newObj); } } else if (action == EditorAct.Remove) { tmpList.AddRange(targetArray); if (direction == EditorDirect.Up) { tmpList.RemoveAt(0); } else { tmpList.RemoveAt(tmpList.Count - 1); } } targetArray = tmpList.ToArray(); }
public void AdjustPositionObj(ref GameObject[] editTarget, EditorDirect direction, EditorAct editorAct, GameObject newObj = null) { if (editorAct == EditorAct.Add) { int oneStepBack = 1; int samplingNum = (direction == EditorDirect.Up) ? 0 + oneStepBack : editTarget.Length - 1 - oneStepBack; Vector2 vec = editTarget [samplingNum].transform.localPosition; vec = new Vector2(vec.x, vec.y + (oneLineDistance * (int)direction)); newObj.transform.localPosition = vec; float adjust = (direction == EditorDirect.Up) ? -1 * (oneLineDistance / 2) : 1 * oneLineDistance / 2; foreach (var item in editTarget) { item.transform.localPosition = new Vector3(item.transform.localPosition.x, item.transform.localPosition.y + adjust, item.transform.localPosition.z); } } else if (editorAct == EditorAct.Remove) { float adjust = (direction == EditorDirect.Up) ? 1 * (oneLineDistance / 2) : -1 * oneLineDistance / 2; foreach (var item in editTarget) { item.transform.localPosition = new Vector3(item.transform.localPosition.x, item.transform.localPosition.y + adjust, item.transform.localPosition.z); } } }
public void DeleteLineObj(ref GameObject[] targetObj, EditorDirect direction, GameObject parentObj) { int index = (direction == EditorDirect.Up) ? 0 : targetObj.Length - 1; Destroy(targetObj [index]); ObjArrayControll(ref targetObj, direction, EditorAct.Remove); AdjustPositionObj(ref targetObj, direction, EditorAct.Remove); RenameGameobjectName(ref targetObj, direction); }
public void CreateLineObj(ref GameObject[] targetObj, EditorDirect direction, GameObject parentObj, GameObject initData) { GameObject newObj = Instantiate(initData) as GameObject; newObj.transform.parent = parentObj.transform; newObj.transform.localScale = new Vector3(1, 1, 1); ObjArrayControll(ref targetObj, direction, EditorAct.Add, newObj); AdjustPositionObj(ref targetObj, direction, EditorAct.Add, newObj); RenameGameobjectName(ref targetObj, direction); }
public void _ChangeTextDetailNewObj(ref GameObject[] target, EditType editType, EditorDirect direction) { int oneStepBack = 1; int samplingNum = (direction == EditorDirect.Up) ? 0 + oneStepBack : target.Length - 1 - oneStepBack; int targetNum = (direction == EditorDirect.Up) ? 0 : target.Length - 1; switch (editType) { case EditType.Text: string str = target[samplingNum].GetComponent <Text>().text; target[targetNum].GetComponent <Text>().text = str; // + "_Add"; break; } }
public void RenameGameobjectName(ref GameObject[] editTarget, EditorDirect direction) { string[] objName = editTarget [0].name.Split('_'); if (objName [0].Contains("(Clone)") == true) { objName[0] = objName[0].Replace("(Clone)", ""); } int num = 1; foreach (var item in editTarget) { item.name = objName[0] + "_" + num; num++; } }
public void LineEdit(EditorDirect direction, EditorAct action) { if (action == EditorAct.Add) { CreateLineObj(ref editButton, ref baseFrameObj.button, direction, addPartsOfFrameObj[(int)PartsOfFrame.Button]); ChangeColorNewObj(ref editButton, ref baseFrameObj.button, EditType.Button, direction); CreateLineObj(ref editText, ref baseFrameObj.text, direction, addPartsOfFrameObj[(int)PartsOfFrame.LineText]); ChangeColorNewObj(ref editText, ref baseFrameObj.text, EditType.Text, direction); ChangeTextDetailNewObj(ref editText, ref baseFrameObj.text, EditType.Text, direction); editMethods.CreateLineObj(ref baseFrameObj.inputField, direction, baseObj.gameObject, addPartsOfFrameObj[(int)PartsOfFrame.InputField]); ModifyFrame(true); RemoveEditButtonComponents(); SetAddListener(); SetBaseRenameButton(); SetSiblingBaseObj(); ModifyLineNum(true); ChangeColorAllowPos(); } else if (action == EditorAct.Remove) { DeleteLineObj(ref editButton, ref baseFrameObj.button, direction); DeleteLineObj(ref editText, ref baseFrameObj.text, direction); editMethods.DeleteLineObj(ref baseFrameObj.inputField, direction, baseObj.gameObject); ModifyFrame(false); SetAddListener(); SetSiblingBaseObj(); ModifyLineNum(false); ChangeColorAllowPos(); } }
private void _ChangeColorNewObj(ref GameObject[] target, EditType editType, EditorDirect direction) { int oneStepBack = 1; int samplingNum = (direction == EditorDirect.Up) ? 0 + oneStepBack : target.Length - 1 - oneStepBack; int targetNum = (direction == EditorDirect.Up) ? 0 : target.Length - 1; switch (editType) { case EditType.Text: Color32 copyColor = target[samplingNum].GetComponent <Text>().color; target[targetNum].GetComponent <Text>().color = copyColor; break; case EditType.Button: ColorBlock colorBlock = target[samplingNum].GetComponent <Button>().colors; target[targetNum].GetComponent <Button>().colors = colorBlock; break; } }
public void LineEdit(EditorDirect direction, EditorAct action) { if (action == EditorAct.Add) { editMethods.CreateLineObj(ref button, direction, this.gameObject, PartsOfFrameObj[(int)PartsOfFrame.Button]); editMethods.CreateLineObj(ref text, direction, this.gameObject, PartsOfFrameObj[(int)PartsOfFrame.LineText]); editMethods.CreateLineObj(ref inputField, direction, this.gameObject, PartsOfFrameObj[(int)PartsOfFrame.InputField]); editMethods.ModifyFrame(this.gameObject.GetComponent <RectTransform> (), isPlus: true); SetBaseRenameButton(); SetSiblingBaseObj(); } else if (action == EditorAct.Remove) { editMethods.DeleteLineObj(ref button, direction, this.gameObject); editMethods.DeleteLineObj(ref text, direction, this.gameObject); editMethods.DeleteLineObj(ref inputField, direction, this.gameObject); editMethods.ModifyFrame(this.gameObject.GetComponent <RectTransform> (), isPlus: false); SetSiblingBaseObj(); } }
private void ChangeTextDetailNewObj(ref GameObject[] editTarget, ref GameObject[] baseTarget, EditType editType, EditorDirect direction) { editMethods._ChangeTextDetailNewObj(ref editTarget, editType, direction); editMethods._ChangeTextDetailNewObj(ref baseTarget, editType, direction); }
private void ChangeColorNewObj(ref GameObject[] editTarget, ref GameObject[] baseTarget, EditType editType, EditorDirect direction) { _ChangeColorNewObj(ref editTarget, editType, direction); _ChangeColorNewObj(ref baseTarget, editType, direction); }
private void DeleteLineObj(ref GameObject[] editTargetArray, ref GameObject[] baseTargetArray, EditorDirect direction) { editMethods.DeleteLineObj(ref editTargetArray, direction, this.gameObject); editMethods.DeleteLineObj(ref baseTargetArray, direction, baseObj.gameObject); }
private void CreateLineObj(ref GameObject[] editTargetArray, ref GameObject[] baseTargetArray, EditorDirect direction, GameObject initData) { editMethods.CreateLineObj(ref editTargetArray, direction, this.gameObject, initData); editMethods.CreateLineObj(ref baseTargetArray, direction, baseObj.gameObject, initData); }