public void AddKeyframe(EditorObject instance, Transform2 keyframe, float time) { if (instance.AnimatedTransform == null) { instance.AnimatedTransform = new CurveTransform2(); } instance.AnimatedTransform.AddKeyframe(time, keyframe); }
//Constructor public EditorObjectConnection(EditorObject.EditorObjectMessage message, EditorObject caller, EditorObject subject, EventTransceiver.Events onEvent) { OnEvent = onEvent; Message = message; Caller = caller; Subject = subject; GUID = System.Guid.NewGuid().ToString(); SetColor(); }
public void Add(EditorObject selected) { if (selected == null) { return; } SetFirst(selected); selected.SetSelected(true); SelectionChanged(GetAll()); }
public MementoDrag(EditorObject transformable) { Transformable = transformable; _polygonCoord = transformable.GetPolygonCoord(); _transform = null; if (_polygonCoord != null) { _parent = (IWall)transformable.Parent; } else { _transform = transformable.GetTransform(); } }
public void RenameTest0() { Initialize(); EditorObject editorObject = new EditorObject(scene); string oldName = "old name"; string newName = "new name"; editorObject.Name = oldName; stateList.Add(new Rename(editorObject, newName)); Assert.IsTrue(editorObject.Name == newName); stateList.Undo(); Assert.IsTrue(editorObject.Name == oldName); stateList.Redo(); Assert.IsTrue(editorObject.Name == newName); }
public void SetSelected(EditorObject selected) { if (selected != _selected) { _selected = selected; if (_selected == null) { IsEnabled = false; Type.Content = ""; ObjectName.Text = ""; } else { Type.Content = selected.GetType().ToString(); ObjectName.Text = selected.Name; IsEnabled = true; } } }
public ObjectListItemWrapper(EditorObject obj, bool useObjectName) { mEditorObject = obj; if (mEditorObject == null) { Text = "NULL OBJECT ERROR!!"; return; } string displayValue; if (useObjectName == true) { Text = obj.Name; } else { Text = mEditorObject.ToString(); } }
public void RemoveGridObject() { if (gridObject != null) { //Grid has change and file is no longer consistant with grid if (gridCreator.currentGridFile != null) { gridCreator.currentGridFile = null; } gridObject.DestroyObject(); if (gridObject.IsUnit()) { gridCreator.RemoveCharacterSpawn((EditorUnit)gridObject); } else { gridCreator.RemoveLevelHazard((EditorLevelObject)gridObject); } gridObject = null; } }
void TryCreateEditField(EditorObject ob, PropertyInfo prop, EditableField attr) { float y = elements.Count * FIELD_Y_AREA; UDim2 position = new UDim2(0, 0, 0, y + 25); GUILabel label = null; string labelText = string.Format("{0}:", attr.Name); Type type = prop.PropertyType; if (type == typeof(bool)) { GUICheckbox checkbox; form.AddLabledCheckbox(labelText, (bool)prop.GetValue(ob), position, out label, out checkbox); elements.Add(checkbox); checkbox.OnCheckChanged += (sender, e) => { prop.SetValue(ob, e); }; } else if (type == typeof(string)) { GUITextField field; form.AddLabledTextField(labelText, (string)prop.GetValue(ob), position, out label, out field); elements.Add(field); field.OnTextChanged += (sender, e) => { prop.SetValue(ob, e); }; } if (label != null) { elements.Add(label); } }
public static void DrawLine(EditorObject source, EditorObject target, Color color) { Vector3 sourcePosition = source.transform.position; Vector3 targetPosition = target.transform.position; float arrowSize = kArrowSize; Vector3 direction = (sourcePosition - targetPosition).normalized; Quaternion rotation = Quaternion.LookRotation(direction); rotation *= Quaternion.Euler(0, 180, 0); float amt = ((sourcePosition - targetPosition).magnitude - (kArrowSpacing + kArrowSize)); Handles.color = color; for(float i = 0; i < amt; i += kArrowSpacing) { Handles.ArrowCap(0, targetPosition + ((( direction * arrowSize) / 0.5f) + (direction * i)), rotation, arrowSize); } Handles.DrawLine( sourcePosition, targetPosition + (( direction * arrowSize) / 0.5f)); Handles.color = Color.white; }
private void OnSelectionChanged() { if (this.m_updatingList) { return; } int index = this.treeViewObjectSelection.SelectedNode.Index; if (index == this.m_value) { return; } this.m_value = index; this.m_currentObject = (EditorObject)this.treeViewObjectSelection.SelectedNode.Tag; if (this.ValueChanged != null) { this.ValueChanged(this, new EventArgs()); } if (this.CurrentObjectChanged != null) { this.CurrentObjectChanged(this, new EventArgs()); } }
public static void DrawLine(EditorObject source, EditorObject target, Color color) { Vector3 sourcePosition = source.transform.position; Vector3 targetPosition = target.transform.position; float arrowSize = kArrowSize; Vector3 direction = (sourcePosition - targetPosition).normalized; Quaternion rotation = Quaternion.LookRotation(direction); rotation *= Quaternion.Euler(0, 180, 0); float amt = ((sourcePosition - targetPosition).magnitude - (kArrowSpacing + kArrowSize)); Handles.color = color; for (float i = 0; i < amt; i += kArrowSpacing) { Handles.ArrowCap(0, targetPosition + (((direction * arrowSize) / 0.5f) + (direction * i)), rotation, arrowSize); } Handles.DrawLine(sourcePosition, targetPosition + ((direction * arrowSize) / 0.5f)); Handles.color = Color.white; }
/// <summary> /// 判断一个资源是否已经在bundle列表中 /// </summary> /// <param name="obj">资源对象</param> /// <returns>是否存在</returns> bool isExist_AllBundle(EditorObject obj) { for (int i = 0; i < bundles.Count; i++) { if (EqualsEditorObject(bundles[i].mainObject, obj)) { return(true); } if (isExist_Bundle(obj, bundles[i])) { return(true); } } //for (int i = 0; i < relyPackages.Count; i++) //{ // if (isExist_Bundle(obj, relyPackages[i])) // { // return true; // } //} return(false); }
void ObjectListView(EditPackageConfig pack) { EditorGUILayout.LabelField("Size: " + pack.objects.Count); for (int j = 0; j < pack.objects.Count; j++) { EditorGUILayout.LabelField("Path:", pack.objects[j].path); EditorGUILayout.BeginHorizontal(); EditorGUILayout.ObjectField(pack.objects[j].obj, typeof(Object), false); if (GUILayout.Button("删除", GUILayout.Width(ButtonWidth))) { pack.objects.RemoveAt(j); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); } EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Button:"); if (GUILayout.Button("增加选中资源")) { Object[] selects = Selection.GetFiltered(typeof(Object), SelectionMode.DeepAssets); for (int k = 0; k < selects.Length; k++) { EditorObject tmp = new EditorObject(); tmp.obj = selects[k]; tmp.path = GetObjectPath(selects[k]); if (!isExist_EditorList(pack.objects, tmp)) { pack.objects.Add(tmp); } else { Debug.Log(CustomToString(selects[k]) + " has Exists"); } } } //if (GUILayout.Button("资源去重")) //{ //} EditorGUILayout.EndHorizontal(); }
bool IsPackage(EditorObject obj) { bool result = true; for (int i = 0; i < m_NoPackagekFile.Count; i++) { if (obj.obj.name == m_NoPackagekFile[i]) { return false; } } return result; }
void AddAssetBundle(Object obj, string path) { if (obj == null) return;//都是空了也就是没有意义的 EditorObject objTmp = new EditorObject(); objTmp.obj = obj; objTmp.path = GetObjectPath(obj); if (isExist_AllBundle(objTmp) || !IsPackage(objTmp)) { //Debug.Log(obj.name + " 已经存在!"); } else { EditPackageConfig EditPackageConfigTmp = new EditPackageConfig(); if (obj == null) { Debug.LogError("AddAssetBundle ERROR : path: " + path); return; } EditPackageConfigTmp.name = obj.name; EditorObject mainObjTmp = new EditorObject(); mainObjTmp.obj = obj; mainObjTmp.path = GetObjectPath(obj); EditPackageConfigTmp.mainObject = mainObjTmp; EditPackageConfigTmp.path = GetRelativePath(FileTool.RemoveExpandName(GetObjectPath(obj))); Object[] res = GetCorrelationResource(obj); //判断依赖包中含不含有该资源,如果有,则不将此资源放入bundle中 //依赖包判断 for (int j = 0; j < res.Length; j++) { if (res[j] == null) { //Debug.LogWarning(obj + " 有资源丢失!"); continue; } ////过滤掉一些不必要加载进去的组件 //if (ComponentFilter(res[j])) //{ // continue; //} EditorObject tmp = new EditorObject(); tmp.obj = res[j]; tmp.path = GetObjectPath(res[j]); //bool isExistRelyPackage = false; for (int i = 0; i < relyPackages.Count; i++) { if (isExist_Bundle(tmp, relyPackages[i])) { //在依赖包选项中添加此依赖包 EditPackageConfigTmp.relyPackagesMask = EditPackageConfigTmp.relyPackagesMask | 1 << i; //isExistRelyPackage = true; break; } } } bundles.Add(EditPackageConfigTmp); m_BundleDictCatch.Add(EditPackageConfigTmp.name, EditPackageConfigTmp); } }
/// <summary> /// 检查单个资源是否全都被其依赖包引用 /// </summary> bool GetResIsUseByRelyBundle(EditPackageConfig pack, EditorObject res) { //根据mask获取所有依赖包 List<EditPackageConfig> relysBundles = GetRelyPackListByMask(pack.relyPackagesMask); for (int i = 0; i < relysBundles.Count; i++) { if (isExist_Bundle(res, relysBundles[i])) { return true; } } return false; }
void CreateObject() { GameObject newObj; // Item 1 if (itemOption == ItemList.Item_1) { // Create object newObj = Instantiate(item_1); newObj.transform.position = SnapToGrid(_rayHit.point); newObj.transform.Translate(new Vector3(0.0f, -0.5f, 0.0f)); newObj.layer = 9; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_1; } // Item 2 else if (itemOption == ItemList.Item_2) { // Create object newObj = Instantiate(item_2); newObj.transform.position = SnapToGrid(_rayHit.point); newObj.transform.Translate(new Vector3(0.0f, -0.5f, 0.0f)); newObj.layer = 9; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_2; } // Item 3 else if (itemOption == ItemList.Item_3) { // Create object newObj = Instantiate(item_3); newObj.transform.position = SnapToGrid(_rayHit.point); newObj.transform.Translate(new Vector3(0.0f, -0.5f, 0.0f)); newObj.layer = 9; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_3; } // Item 4 else if (itemOption == ItemList.Item_4) { // Create object newObj = Instantiate(item_4); newObj.transform.position = SnapToGrid(_rayHit.point); newObj.transform.Translate(new Vector3(0.0f, -0.5f, 0.0f)); newObj.layer = 9; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_4; } // Item 5 else if (itemOption == ItemList.Item_5) { // Create object newObj = Instantiate(item_5); newObj.transform.position = SnapToGrid(_rayHit.point); newObj.transform.Translate(new Vector3(0.0f, -0.5f, 0.0f)); newObj.layer = 9; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_5; } // Item 6 else if (itemOption == ItemList.Item_6) { // Create object newObj = Instantiate(item_6); newObj.transform.position = SnapToGrid(_rayHit.point); newObj.transform.Translate(new Vector3(0.0f, -0.5f, 0.0f)); newObj.layer = 9; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_6; } // Item 7 else if (itemOption == ItemList.Item_7) { // Create object newObj = Instantiate(item_7); newObj.transform.position = SnapToGrid(_rayHit.point); newObj.transform.Translate(new Vector3(0.0f, -0.5f, 0.0f)); newObj.layer = 9; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_7; } // Item 8 else if (itemOption == ItemList.Item_8) { // Create object newObj = Instantiate(item_8); newObj.transform.position = SnapToGrid(_rayHit.point); newObj.transform.Translate(new Vector3(0.0f, -0.5f, 0.0f)); newObj.layer = 9; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_8; } else if (itemOption == ItemList.Player) { // Create object if (manager.playerPlaced == false) { newObj = Instantiate(playerSt); newObj.transform.position = SnapToGrid(_rayHit.point); newObj.transform.Translate(new Vector3(0.0f, -0.5f, 0.0f)); newObj.layer = 9; manager.playerPlaced = true; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Player; } } else if (itemOption == ItemList.Collectable) { // Create object newObj = Instantiate(collectable); newObj.transform.position = SnapToGrid(_rayHit.point); // newObj.transform.Translate(new Vector3(0.0f, 0.0f, 0.0f)); newObj.layer = 8; // Add editor object component EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Collectable; } }
void AddAssetBundle(Object obj, string path) { EditorObject objTmp = new EditorObject(); objTmp.obj = obj; objTmp.path = GetObjectPath(obj); if (isExist_AllBundle(objTmp)) { //Debug.Log(obj.name + " 已经存在!"); } else { EditPackageConfig EditPackageConfigTmp = new EditPackageConfig(); EditPackageConfigTmp.name = obj.name; EditorObject mainObjTmp = new EditorObject(); mainObjTmp.obj = obj; mainObjTmp.path = GetObjectPath(obj); EditPackageConfigTmp.mainObject = mainObjTmp; EditPackageConfigTmp.path = GetRelativePath(FileTool.RemoveExpandName(GetObjectPath(obj))); Object[] res = GetCorrelationResource(obj); //判断依赖包中含不含有该资源,如果有,则不将此资源放入bundle中 //依赖包判断 for (int j = 0; j < res.Length; j++) { if (res[j] == null) { Debug.LogWarning(obj + " 有资源丢失!"); continue; } ////过滤掉一些不必要加载进去的组件 //if (ComponentFilter(res[j])) //{ // continue; //} EditorObject tmp = new EditorObject(); tmp.obj = res[j]; tmp.path = GetObjectPath(res[j]); //bool isExistRelyPackage = false; for (int i = 0; i < relyPackages.Count; i++) { if (isExist_Bundle(tmp, relyPackages[i])) { //在依赖包选项中添加此依赖包 EditPackageConfigTmp.relyPackagesMask = EditPackageConfigTmp.relyPackagesMask | 1 << i; //isExistRelyPackage = true; break; } } ////该资源不在依赖包中,并且也与主资源不同时,放入包中 //if (isExistRelyPackage == false // &&!EqualsEditorObject(EditPackageConfigTmp.mainObject,tmp) // ) //{ // EditPackageConfigTmp.objects.Add(tmp); //} } bundles.Add(EditPackageConfigTmp); } }
public void Set(EditorObject selected) { Reset(); SetFirst(selected); if (selected != null) { selected.SetSelected(true); } SelectionChanged(GetAll()); }
public bool WaitingForCallerAndMessage(EditorObject caller, EditorObject.EditorObjectMessage message) { if (_callerRegistry.ContainsKey(caller) && _callerRegistry[caller] == message) { return true; } return false; }
public MementoSelection(Selection selection) { Selected = selection.GetAll().AsReadOnly(); First = selection.First; }
/// <summary> /// Adds a new object to the level /// </summary> /// <param name="position">The vector on the level, NOT the mouse vector. That will fail. Seriously</param> private void AddLevelObject(Vector2 position) { if(currentSelectedTexture != null) { EditorObject levelBlock = new EditorObject(string.Empty, position); using(FileStream textureStream = new FileStream(currentSelectedTexture.ImageLocation, FileMode.Open)){ levelBlock.Texture = Texture2D.FromStream(xna.GraphicsDevice, textureStream); } gameStateManager.AddExternalObject(levelBlock); gameStateManager.AdjustPosition(levelBlock); } else { MessageBox.Show("How about selecting a texture, genious?"); } return; }
/// <summary> /// Create level. /// </summary> void CreateFromFile() { GameObject newObj; for (int i = 0; i < _level.editorObjects.Count; i++) { if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_1) { newObj = Instantiate(item_1); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_1; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_2) { newObj = Instantiate(item_2); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_2; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_3) { newObj = Instantiate(item_3); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_3; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_4) { newObj = Instantiate(item_4); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_4; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_5) { newObj = Instantiate(item_5); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_5; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_6) { newObj = Instantiate(item_6); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_6; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_7) { newObj = Instantiate(item_7); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_7; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_8) { newObj = Instantiate(item_8); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_8; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Player) { // This sets the player starting position // PLAYER_POSITION = _level.editorObjects[i].obPosition; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Collectable) { newObj = Instantiate(steakPickup); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 8; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Collectable; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Background) { backgroundMenuIndex = _level.editorObjects[i].bckGrndIndex; ChangeBackgroundImage(); } } }
// create objects based on data within level. private void CreateFromFile() { players = new GameObject("Players"); units = GameObject.Find("Units"); cellGrid = GameObject.Find("CellGrid"); mCamera = Camera.main; var cameraObject = new GameObject("Main Camera"); cameraObject.tag = "MainCamera"; mCamera = cameraObject.AddComponent <Camera>(); cellGrid.GetComponent <CellGrid>().PlayersParent = players.transform; for (int i = 0; i < 2; i++) { var player = new GameObject(string.Format("Player_{0}", players.transform.childCount)); player.AddComponent <HumanPlayer>(); player.GetComponent <Player>().PlayerNumber = players.transform.childCount; player.transform.parent = players.transform; } EditorObject p = players.AddComponent <EditorObject>(); p.data.pos = players.transform.position; p.data.rot = players.transform.rotation; p.data.objectType = EditorObject.ObjectType.Player; GameObject LoadLevels; var ret = new List <Cell>(); for (int i = 0; i < level.editorObjects.Count; i++) { if (level.editorObjects[i].objectType == EditorObject.ObjectType.Unit) { LoadLevels = Instantiate(itemsToPickFrom[0]); LoadLevels.transform.position = level.editorObjects[i].pos; // set position from data in level LoadLevels.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. LoadLevels.layer = 9; // assign to SpawnedObjects layer. LoadLevels.GetComponent <Unit>().PlayerNumber = 0; units = GameObject.Find("Units"); LoadLevels.transform.SetParent(units.transform); //Add editor object component and feed data. EditorObject eo = LoadLevels.AddComponent <EditorObject>(); eo.data.pos = LoadLevels.transform.position; eo.data.rot = LoadLevels.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Unit; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Unit2) // if a cylinder object { LoadLevels = Instantiate(itemsToPickFrom[1]); LoadLevels.transform.position = level.editorObjects[i].pos; // set position from data in level LoadLevels.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. LoadLevels.layer = 9; // assign to SpawnedObjects layer. LoadLevels.GetComponent <Unit>().PlayerNumber = 1; units = GameObject.Find("Units"); LoadLevels.transform.SetParent(units.transform); //Add editor object component and feed data. EditorObject eo = LoadLevels.AddComponent <EditorObject>(); eo.data.pos = LoadLevels.transform.position; eo.data.rot = LoadLevels.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Unit2; } /*else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Obstacle) * { * LoadLevels = Instantiate(itemsToPickFrom[2]); * LoadLevels.transform.position = level.editorObjects[i].pos; // set position from data in level * LoadLevels.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. * LoadLevels.layer = 9; // assign to SpawnedObjects layer. * * //Add editor object component and feed data. * EditorObject eo = LoadLevels.AddComponent<EditorObject>(); * eo.data.pos = LoadLevels.transform.position; * eo.data.rot = LoadLevels.transform.rotation; * eo.data.objectType = EditorObject.ObjectType.Obstacle; * }*/ else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Obstacle) { LoadLevels = Instantiate(itemsToPickFrom[2]); LoadLevels.transform.position = level.editorObjects[i].pos; // set position from data in level LoadLevels.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. LoadLevels.layer = 9; // assign to SpawnedObjects layer. LoadLevels.GetComponent <Unit>().PlayerNumber = 2; units = GameObject.Find("Units"); LoadLevels.transform.SetParent(units.transform); //Add editor object component and feed data. EditorObject eo = LoadLevels.AddComponent <EditorObject>(); eo.data.pos = LoadLevels.transform.position; eo.data.rot = LoadLevels.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Unit2; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Cell) { Debug.Log("loading grid"); var LoadLevelss = Instantiate(itemsToPickFrom[3]); if (level.editorObjects[i].isTaken == true) { LoadLevelss.GetComponent <Cell>().IsTaken = true; } LoadLevelss.transform.position = level.editorObjects[i].pos; // set position from data in level LoadLevelss.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. LoadLevelss.GetComponent <Cell>().OffsetCoord = level.editorObjects[i].coord; LoadLevelss.GetComponent <Cell>().MovementCost = 1; cellGrid = GameObject.Find("CellGrid"); LoadLevelss.transform.SetParent(cellGrid.transform); Debug.Log(LoadLevelss.GetComponent <Cell>().OffsetCoord); EditorObject eo = LoadLevelss.AddComponent <EditorObject>(); eo.data.pos = LoadLevelss.transform.position; eo.data.rot = LoadLevelss.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Cell; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Camera) { mCamera.transform.position = level.editorObjects[i].pos; // set position from data in level mCamera.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. mCamera.fieldOfView = 35.3f; EditorObject eo = cameraObject.AddComponent <EditorObject>(); eo.data.pos = cameraObject.transform.position; eo.data.rot = cameraObject.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Camera; } } }
bool isExist_EditorList(List<EditorObject> list, EditorObject obj) { for (int i = 0; i < list.Count; i++) { if (list[i] == null || list[i].obj == null) { continue; } if (EqualsEditorObject(list[i], obj)) { return true; } } return false; }
public static bool RayCastPhysics(Vec3 raySrc, Vec3 rayDir, EditorObject ignore, out Vec3 hitPos, out float hitDist, out Vec3 hitNormal) { return(Binding.FCE_Editor_RayCastPhysics(raySrc.X, raySrc.Y, raySrc.Z, rayDir.X, rayDir.Y, rayDir.Z, ignore.Pointer, out hitPos.X, out hitPos.Y, out hitPos.Z, out hitDist, out hitNormal.X, out hitNormal.Y, out hitNormal.Z)); }
void ReLoadEditObject(EditorObject editObj) { editObj.obj = AssetDatabase.LoadAssetAtPath<Object>(editObj.path); }
private void CreateObject(Vector3 clickPoint) { var finalPosition = grid.GetNearestPointOnGrid(clickPoint); Vector3 dummy = new Vector3(0.0f, 0, 0); GameObject newobj; GameObject temp; if (itemOption == ItemList.Wall) { newobj = Instantiate(prog.wall, finalPosition, Quaternion.identity); newobj.layer = 9; newobj.tag = "Wall"; EditorObject eo = newobj.AddComponent <EditorObject>(); eo.data.pos = newobj.transform.position; eo.data.objectType = EditorObject.ObjectType.Wall; } else if (itemOption == ItemList.Player) { if (prog.playerPlaced == false) { prog.StartPT.transform.position = finalPosition; Debug.Log("In Placer, Start: " + finalPosition); //prog.StartPT.transform.position = finalPosition; temp = Instantiate(prog.StartPT, finalPosition, Quaternion.identity); newobj = Instantiate(prog.player, dummy, Quaternion.identity); prog.playerPlaced = true; EditorObject eo = newobj.AddComponent <EditorObject>(); eo.data.pos = newobj.transform.position; eo.data.objectType = EditorObject.ObjectType.Player; Destroy(newobj); } } else if (itemOption == ItemList.End) { Debug.Log("In Placer, End: " + finalPosition); prog.EndPT.transform.position = finalPosition; //prog.EndPT.transform.position = finalPosition; newobj = Instantiate(prog.EndPT, finalPosition, Quaternion.identity); //newobj = Instantiate(prog.EndPT, dummy, Quaternion.identity); EditorObject eo = newobj.AddComponent <EditorObject>(); eo.data.pos = newobj.transform.position; eo.data.objectType = EditorObject.ObjectType.End; //destroy(newobj); } else if (itemOption == ItemList.Mud) { newobj = Instantiate(prog.mud, finalPosition, Quaternion.identity); newobj.layer = 9; EditorObject eo = newobj.AddComponent <EditorObject>(); eo.data.pos = newobj.transform.position; eo.data.objectType = EditorObject.ObjectType.Mud; } else if (itemOption == ItemList.Caltrop) { newobj = Instantiate(prog.caltrop, finalPosition, Quaternion.identity); newobj.layer = 9; EditorObject eo = newobj.AddComponent <EditorObject>(); eo.data.pos = newobj.transform.position; eo.data.objectType = EditorObject.ObjectType.Caltrop; } }
//Constructor public EditorObjectConnection(EditorObject.EditorObjectMessage message) { Message = message; GUID = System.Guid.NewGuid().ToString(); SetColor(); }
public void Add(EditorObject obj) { EditorForm.EditorObjectTreeView.Nodes.Add(obj.Name); EditorForm.ObjectPropertyGrid.SelectedObject = obj; _editorObjectList.Add(obj); }
public void SetFirst(EditorObject first) { First = first; /*if (First != null) { _firstMarker.Visible = true; _firstMarker.SetParent(First.Marker); } else { _firstMarker.Visible = false; _firstMarker.SetParent(null); }*/ }
/// <summary> /// Create level. /// </summary> void CreateFromFile() { GameObject newObj; for (int i = 0; i < _level.editorObjects.Count; i++) { if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_1) { newObj = Instantiate(msScript.item_1); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_1; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_2) { newObj = Instantiate(msScript.item_2); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_2; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_3) { newObj = Instantiate(msScript.item_3); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_3; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_4) { newObj = Instantiate(msScript.item_4); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_4; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_5) { newObj = Instantiate(msScript.item_5); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_5; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_6) { newObj = Instantiate(msScript.item_6); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_6; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_7) { newObj = Instantiate(msScript.item_7); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_7; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Item_8) { newObj = Instantiate(msScript.item_8); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Item_8; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Player) { newObj = Instantiate(msScript.playerSt, transform.position, Quaternion.identity); newObj.layer = 9; newObj.AddComponent <CapsuleCollider>(); newObj.GetComponent <CapsuleCollider>().height = 2; newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; playerPlaced = true; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Player; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Collectable) { newObj = Instantiate(msScript.collectable); newObj.transform.position = _level.editorObjects[i].obPosition; newObj.transform.rotation = _level.editorObjects[i].obRotation; newObj.layer = 9; EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.obPosition = newObj.transform.position; eo.data.obRotation = newObj.transform.rotation; eo.data.obType = EditorObject.ObjectType.Collectable; } else if (_level.editorObjects[i].obType == EditorObject.ObjectType.Background) { backgroundMenuIndex = _level.editorObjects[i].bckGrndIndex; dropdownMenu.GetComponent <Dropdown>().value = backgroundMenuIndex; ChangeBackgroundImage(); } } levelNameLoad.text = ""; levelNameLoad.DeactivateInputField(); loadUIAnimation.SetTrigger("SaveLoadOut"); _loadPositionIn = false; saveLoadMenuOpen = false; levelMessage.text = "Level loaded"; messageAnim.Play("MessageFade", 0, 0); }
public void Toggle(EditorObject selected) { if (selected == null) { return; } if (selected.IsSelected) { Remove(selected); } else { Add(selected); } }
public void BeginSession(EditorSession session, EditorObject editorObject) { Session = session; EditorObject = editorObject; }
void ReLoadEditObject(EditorObject editObj) { editObj.obj = AssetDatabase.LoadAssetAtPath <Object>(editObj.path); }
public bool Remove(EditorObject deselect) { if (deselect == null) { return false; } if (First == deselect) { if (GetAll().Count > 0) { SetFirst(GetAll()[0]); } } bool wasSelected = deselect.IsSelected; deselect.SetSelected(false); SelectionChanged(GetAll()); return wasSelected; }
/// <summary> /// Object creation /// </summary> void CreateObject() { GameObject newObj; if (itemOption == ItemList.Cylinder) // cylinder { //Create object newObj = GameObject.CreatePrimitive(PrimitiveType.Cylinder); newObj.transform.position = transform.position; newObj.layer = 9; // set to Spawned Objects layer //Add editor object component and feed it data. EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.pos = newObj.transform.position; eo.data.rot = newObj.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Cylinder; } else if (itemOption == ItemList.Cube) // cube { //Create object newObj = GameObject.CreatePrimitive(PrimitiveType.Cube); newObj.transform.position = transform.position; newObj.layer = 9; // set to Spawned Objects layer //Add editor object component and feed it data. EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.pos = newObj.transform.position; eo.data.rot = newObj.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Cube; } else if (itemOption == ItemList.Sphere) // sphere { //Create object newObj = GameObject.CreatePrimitive(PrimitiveType.Sphere); newObj.transform.position = transform.position; newObj.layer = 9; // set to Spawned Objects layer //Add editor object component and feed it data. EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.pos = newObj.transform.position; eo.data.rot = newObj.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Sphere; } else if (itemOption == ItemList.Player) // player start { if (ms.playerPlaced == false) // only perform next actions if player not yet placed. { //Create object and give it capsule collider component. newObj = Instantiate(Player, transform.position, Quaternion.identity); newObj.layer = 9; // set to Spawned Objects layer newObj.AddComponent <CapsuleCollider>(); newObj.GetComponent <CapsuleCollider>().center = new Vector3(0, 1, 0); newObj.GetComponent <CapsuleCollider>().height = 2; ms.playerPlaced = true; //Add editor object component and feed it data. EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.pos = newObj.transform.position; eo.data.rot = newObj.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Player; } } }
public static void DrawLine(EditorObject source, EditorObject target, Color color) { DrawLine(source.gameObject, target.gameObject, color); }
/// <summary> /// 检查某个资源包内有没有重复资源 /// </summary> /// <param name="pack"></param> void CheckBundle(EditPackageConfig pack) { if (bundleName.ContainsKey(pack.name)) { Debug.LogError(pack.name + "包名重复! "); pack.errorMsg.Add("包名重复! "); errorCount++; } else { bundleName.Add(pack.name, 0); } if (pack.mainObject != null) { string resNameTmp = CustomToString(pack.mainObject.obj); if (checkDict.ContainsKey(resNameTmp)) { //判断该资源是否在它的依赖包里,如果不在,加入判重 if (!GetResIsUseByRelyBundle(pack, pack.mainObject) && !ComponentFilter(pack.mainObject.obj)) { if (isExist_EditorList(checkDict[resNameTmp], pack.mainObject)) { pack.warnMsg.Add("MainObject 重复! " + resNameTmp); warnCount++; } else { checkDict[resNameTmp].Add(pack.mainObject); } } } else { checkDict.Add(resNameTmp, new List<EditorObject>()); checkDict[resNameTmp].Add(pack.mainObject); } } Object[] res = GetCorrelationResource(pack.mainObject.obj); for (int i = 0; i < res.Length; i++) { string resNameTmp = CustomToString(res[i]); EditorObject tmp = new EditorObject(); tmp.obj = res[i]; tmp.path = GetObjectPath(res[i]); if (checkDict.ContainsKey(resNameTmp)) { //判断该资源是否在它的依赖包里,如果不在,加入判重 if (!EqualsEditorObject(pack.mainObject, tmp) && !GetResIsUseByRelyBundle(pack, tmp) && !ComponentFilter(res[i])) { if (isExist_EditorList(checkDict[resNameTmp], tmp)) { pack.warnMsg.Add("Objects存在重复资源 ! " + resNameTmp); warnCount++; } else { checkDict[resNameTmp].Add(tmp); } } } else { checkDict.Add(resNameTmp, new List<EditorObject>()); checkDict[resNameTmp].Add(tmp); } } }
public Add(ControllerEditor controller, EditorObject editorObject) { IsMarker = true; _editorObject = editorObject; _controller = controller; }
/// <summary> /// 判断某个资源是否 /// </summary> /// <param name="pack"></param> /// <param name="res"></param> /// <returns></returns> bool GetResIsUseByMainObject(EditPackageConfig pack, EditorObject res) { if (EqualsEditorObject(pack.mainObject, res)) { return true; } return false; }
public static EditorObject GetObjectFromScreenPoint(Vec2 pt, out Vec3 hitPos, bool includeFrozen, EditorObject ignore) { PhysEntityVector vector = PhysEntityVector.Null; if (ignore.IsValid) { vector = PhysEntityVector.Create(); ignore.GetPhysEntities(vector); } EditorObject result = new EditorObject(Binding.FCE_ObjectManager_GetObjectFromScreenPoint(pt.X, pt.Y, out hitPos.X, out hitPos.Y, out hitPos.Z, includeFrozen, vector.Pointer)); if (vector.IsValid) { vector.Dispose(); } return(result); }
/// <summary> /// 判断一个资源是否已经在bundle列表中 /// </summary> /// <param name="obj">资源对象</param> /// <returns>是否存在</returns> bool isExist_AllBundle(EditorObject obj) { if (obj != null && obj.obj != null && m_BundleDictCatch != null && m_BundleDictCatch.ContainsKey(obj.obj.name)) { return true; } else { return false; } }
void CreateFromFile() { GameObject NewObject; for (int i = 0; i < level.editorObjects.Count; i++) { if (level.editorObjects[i].objectType == EditorObject.ObjectType.Platform) { NewObject = Instantiate(Platform, level.editorObjects[i].pos, Quaternion.identity); NewObject.layer = 9; EditorObject eo = NewObject.AddComponent <EditorObject>(); eo.data.pos = NewObject.transform.position; eo.data.objectType = EditorObject.ObjectType.Platform; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Coin) { NewObject = Instantiate(Coin, level.editorObjects[i].pos, Quaternion.identity); NewObject.layer = 9; EditorObject eo = NewObject.AddComponent <EditorObject>(); eo.data.pos = NewObject.transform.position; eo.data.objectType = EditorObject.ObjectType.Coin; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Player) { NewObject = Instantiate(Player, level.editorObjects[i].pos, Quaternion.identity); NewObject.layer = 9; // set to Spawned Objects layer PlayerPlaced = true; EditorObject eo = NewObject.AddComponent <EditorObject>(); eo.data.pos = NewObject.transform.position; eo.data.objectType = EditorObject.ObjectType.Player; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.StartPos) { NewObject = Instantiate(StartPos, level.editorObjects[i].pos, Quaternion.identity); NewObject.layer = 9; // set to Spawned Objects layer StartpointPresent = true; EditorObject eo = NewObject.AddComponent <EditorObject>(); eo.data.pos = NewObject.transform.position; eo.data.objectType = EditorObject.ObjectType.StartPos; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.EndPos) { NewObject = Instantiate(EndPos, level.editorObjects[i].pos, Quaternion.identity); NewObject.layer = 9; // set to Spawned Objects layer EndPointPlaced = true; EditorObject eo = NewObject.AddComponent <EditorObject>(); eo.data.pos = NewObject.transform.position; eo.data.objectType = EditorObject.ObjectType.EndPos; } } LoadlevelName.text = ""; LoadlevelName.DeactivateInputField(); SaveLoadMessage.text = " Level Loading done"; }
bool isExist_Bundle(EditorObject obj, EditPackageConfig package) { return isExist_EditorList(package.objects, obj); }
/// <summary> /// 检查某个资源包内有没有重复资源 /// </summary> /// <param name="pack"></param> void CheckBundle(EditPackageConfig pack) { if (bundleName.ContainsKey(pack.name)) { Debug.LogError(pack.name + "包名重复! "); pack.errorMsg.Add("包名重复! "); errorCount++; } else { bundleName.Add(pack.name, 0); } if (pack.mainObject != null) { string resNameTmp = CustomToString(pack.mainObject.obj); if (checkDict.ContainsKey(resNameTmp)) { //判断该资源是否在它的依赖包里,如果不在,加入判重 if (!GetResIsUseByRelyBundle(pack, pack.mainObject) && !ComponentFilter(pack.mainObject.obj)) { if (isExist_EditorList(checkDict[resNameTmp], pack.mainObject)) { pack.warnMsg.Add("MainObject 重复! " + resNameTmp); warnCount++; } else { checkDict[resNameTmp].Add(pack.mainObject); } } } else { checkDict.Add(resNameTmp, new List <EditorObject>()); checkDict[resNameTmp].Add(pack.mainObject); } } Object[] res = GetCorrelationResource(pack.mainObject.obj); for (int i = 0; i < res.Length; i++) { string resNameTmp = CustomToString(res[i]); EditorObject tmp = new EditorObject(); tmp.obj = res[i]; tmp.path = GetObjectPath(res[i]); if (ComponentFilter(tmp.obj)) { continue; } if (checkDict.ContainsKey(resNameTmp)) { //判断该资源是否在它的依赖包里,如果不在,加入判重 if (!EqualsEditorObject(pack.mainObject, tmp) && !GetResIsUseByRelyBundle(pack, tmp) && !ComponentFilter(res[i])) { if (isExist_EditorList(checkDict[resNameTmp], tmp)) { pack.warnMsg.Add(pack.path + " 存在重复资源 ! " + resNameTmp); warnCount++; } else { checkDict[resNameTmp].Add(tmp); } } } else { checkDict.Add(resNameTmp, new List <EditorObject>()); checkDict[resNameTmp].Add(tmp); } } }
//比较两个EditorObject是否相等 bool EqualsEditorObject(EditorObject obj_a, EditorObject obj_b) { //只比较加载路径,如果加载路径相等则认为是一个 if (obj_a.path.Equals(obj_b.path)) { return true; } else { return false; } }
public void AddKeyframe(EditorObject instance, Transform2 keyframe) { AddKeyframe(instance, keyframe, (float)Time); }
public void RemoveCaller(EditorObject caller) { if (_callerRegistry.ContainsKey(caller)) { _callerRegistry.Remove(caller); } }
protected void OnEditorObjectHover(EditorObject eo) { EditorObject.CurrentHoveredEditorObject = eo; }
public void GenerateGrid() { players = new GameObject("Players"); units = new GameObject("Units"); cellGrid = new GameObject("CellGrid"); //cellGrid = GameObject.Find("CellGrid"); for (int i = 0; i < Dimensions.players; i++) { var player = new GameObject(string.Format("Player_{0}", players.transform.childCount)); player.AddComponent <HumanPlayer>(); player.GetComponent <Player>().PlayerNumber = players.transform.childCount; player.transform.parent = players.transform; } EditorObject p = players.AddComponent <EditorObject>(); p.data.pos = players.transform.position; p.data.rot = players.transform.rotation; p.data.objectType = EditorObject.ObjectType.Player; var cellGridScript = cellGrid.AddComponent <CellGrid>(); cellGrid.GetComponent <CellGrid>().PlayersParent = players.transform; //var cellGridScript = cellGrid.GetComponent<CellGrid>(); var unitGenerator = cellGrid.AddComponent <CustomUnitGenerator>(); unitGenerator.UnitsParent = units.transform; unitGenerator.CellsParent = cellGrid.transform; var ret = new List <Cell>(); for (int x = 0; x < Dimensions.rows; x++) { for (int z = 0; z < Dimensions.cols; z++) { Vector3 spawnPosition = new Vector3(x * gridSpacing, 0, z * gridSpacing) + origin; GameObject square = PickAndSpawn(spawnPosition, Quaternion.identity); //square.transform.position = new Vector3(x * gridSpacing, 0, z * gridSpacing) + origin; square.GetComponent <Cell>().OffsetCoord = new Vector2(x, z); //square.GetComponent<MeshRenderer>().shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off; square.GetComponent <Cell>().MovementCost = 1; Debug.Log(square.GetComponent <Cell>().OffsetCoord); square.transform.SetParent(cellGrid.transform); ret.Add(square.GetComponent <Cell>()); EditorObject eo = square.AddComponent <EditorObject>(); eo.data.pos = square.transform.position; eo.data.rot = square.transform.rotation; eo.data.coord = square.GetComponent <Cell>().OffsetCoord; eo.data.objectType = EditorObject.ObjectType.Cell; } } var cellDimensions = SquarePrefab.GetComponent <Cell>().GetCellDimensions(); var gridInfo = new GridInfo(); gridInfo.Cells = ret; gridInfo.Dimensions = new Vector3(cellDimensions.x * (Dimensions.rows - 1), cellDimensions.y, cellDimensions.z * (Dimensions.cols - 1)); gridInfo.Center = gridInfo.Dimensions / 2; var camera = Camera.main; var cameraObject = GameObject.Find("Main Camera"); //cameraObject.tag = "MainCamera"; camera = cameraObject.GetComponent <Camera>(); camera.transform.position = new Vector3(gridInfo.Center.x, gridInfo.Center.y + (3.5f * Dimensions.rows), gridInfo.Center.z); //camera.transform.position -= new Vector3(0, 0, (gridInfo.Dimensions.x > gridInfo.Dimensions.z ? gridInfo.Dimensions.x : gridInfo.Dimensions.z) * Mathf.Sqrt(3) / 2); var rotationVector = new Vector3(0f, 0f, 0f); camera.transform.Rotate(rotationVector); camera.transform.parent = null; camera.transform.SetAsFirstSibling(); EditorObject eoc = cameraObject.AddComponent <EditorObject>(); eoc.data.pos = cameraObject.transform.position; eoc.data.rot = cameraObject.transform.rotation; eoc.data.objectType = EditorObject.ObjectType.Camera; //guiController = new GameObject("GUIController"); guiController = GameObject.Find("GUIController"); //var guiControllerScript = guiController.AddComponent<GUIController>(); var guiControllerScript = guiController.GetComponent <GUIController>(); guiControllerScript.CellGrid = cellGridScript; //guiController.SetActive(false); cellGrid.GetComponent <CellGrid>().enabled = false; }
static void DrawGizmos(EditorObject eo, GizmoType gizmoType) { if (!Application.isPlaying) { if (SceneView.currentDrawingSceneView.camera == null) { return; } Camera currentCamera = SceneView.currentDrawingSceneView.camera; if (eo.ActivateHighlight) { Gizmos.DrawIcon(eo.transform.position, "Gizmo_Activate_Ring"); } if (eo.DeactivateHighlight) { Gizmos.DrawIcon(eo.transform.position, "Gizmo_Deactivate_Ring"); } if (eo.ToggleHighlight) { Gizmos.DrawIcon(eo.transform.position, "Gizmo_Toggle_Ring"); } eo.ActivateHighlight = false; eo.DeactivateHighlight = false; eo.ToggleHighlight = false; if (Selection.activeGameObject != eo.gameObject) { Vector3 centre = eo.transform.position; Vector3 right = (centre + (currentCamera.transform.right * 0.4f)); Vector3 centreConverted = currentCamera.WorldToScreenPoint(centre); Vector3 rightConverted = currentCamera.WorldToScreenPoint(right); float dist = Mathf.Abs(centreConverted.x - rightConverted.x); centreConverted.y = currentCamera.pixelHeight - centreConverted.y; Rect labelRect = new Rect(centreConverted.x - dist, centreConverted.y - dist, dist * 2, dist * 2); EditorGUIUtility.AddCursorRect(labelRect, MouseCursor.Link); #if DEBUG Handles.BeginGUI(); GUI.Label(labelRect, "", GUI.skin.box); Handles.EndGUI(); #endif Event e = Event.current; if (labelRect.Contains(e.mousePosition)) { eo.HighlightHighlight = true; foreach (EditorObjectConnection connection in ConnectionRegistry.DesignInstance.Registry) { if (connection.Caller != eo) { continue; } else if (connection.Subject.HighlightHighlight) { Handles.color = Color.cyan; Handles.DrawLine(eo.transform.position, connection.Subject.transform.position); continue; } Handles.color = GrendelColor.FlashingColor(connection.MessageColorDark, 4f); switch (connection.Message) { case EditorObject.EditorObjectMessage.Activate: Handles.DrawLine(eo.transform.position, connection.Subject.transform.position); break; case EditorObject.EditorObjectMessage.Deactivate: Handles.DrawLine(eo.transform.position, connection.Subject.transform.position); break; case EditorObject.EditorObjectMessage.Toggle: Handles.DrawLine(eo.transform.position, connection.Subject.transform.position); break; default: break; } } Gizmos.DrawIcon(eo.transform.position, "Gizmo_Cyan_Ring"); Gizmos.DrawIcon(eo.transform.position, "Gizmo_Fill"); EditorObject.CurrentHoveredEditorObject = eo; } else { eo.HighlightHighlight = false; } Vector3 pos = eo.transform.position; pos += (currentCamera.transform.right) * 0.5f; pos += (currentCamera.transform.up) * 0.15f; Handles.color = eo.NameConflict == true ? Color.red : Color.white; Handles.Label(pos, eo.name, GrendelCustomStyles.CustomElement(GUI.skin.label, Color.white, Handles.color)); Handles.color = Color.white; } else { eo.HighlightHighlight = false; Gizmos.DrawIcon(eo.transform.position, "Gizmo_Selected"); Gizmos.DrawIcon(eo.transform.position, "Gizmo_White_Ring"); } } //end Application.isPlaying check Gizmos.DrawIcon(eo.transform.position, eo.GizmoName); try { if (SceneView.mouseOverWindow.GetInstanceID() == SceneView.currentDrawingSceneView.GetInstanceID()) { SceneView.RepaintAll(); } } catch { //mouse is out of scene view, no biggie } }
public static void GetObjectsFromMagicWand(EditorObjectSelection selection, EditorObject obj) { Binding.FCE_ObjectManager_GetObjectsFromMagicWand(selection.Pointer, obj.Pointer); }
public static bool RayCastPhysics(Vec3 raySrc, Vec3 rayDir, EditorObject ignore, out Vec3 hitPos, out float hitDist) { Vec3 vec; return(RayCastPhysics(raySrc, rayDir, ignore, out hitPos, out hitDist, out vec)); }
void AddAssetBundle(Object obj, string path) { if (obj == null) { return; //都是空了也就是没有意义的 } EditorObject objTmp = new EditorObject(); objTmp.obj = obj; objTmp.path = GetObjectPath(obj); if (isExist_AllBundle(objTmp)) { Debug.LogWarning(obj.name + " 已经存在!"); } else if (!IsPackage(objTmp)) { //Debug.LogWarning(obj.name + " 资源不打包!"); } else { EditPackageConfig EditPackageConfigTmp = new EditPackageConfig(); if (obj == null) { Debug.LogError("AddAssetBundle ERROR : path: " + path); return; } EditPackageConfigTmp.name = obj.name; EditorObject mainObjTmp = new EditorObject(); mainObjTmp.obj = obj; mainObjTmp.path = GetObjectPath(obj); EditPackageConfigTmp.mainObject = mainObjTmp; EditPackageConfigTmp.path = GetRelativePath(FileTool.RemoveExpandName(GetObjectPath(obj))); Object[] res = GetCorrelationResource(obj); //判断依赖包中含不含有该资源,如果有,则不将此资源放入bundle中 //依赖包判断 for (int j = 0; j < res.Length; j++) { if (res[j] == null) { //Debug.LogWarning(obj + " 有资源丢失!"); continue; } ////过滤掉一些不必要加载进去的组件 //if (ComponentFilter(res[j])) //{ // continue; //} EditorObject tmp = new EditorObject(); tmp.obj = res[j]; tmp.path = GetObjectPath(res[j]); //bool isExistRelyPackage = false; for (int i = 0; i < relyPackages.Count; i++) { if (isExist_Bundle(tmp, relyPackages[i])) { //Debug.Log("添加依赖包 : " + i); //在依赖包选项中添加此依赖包 EditPackageConfigTmp.relyPackagesMask = EditPackageConfigTmp.relyPackagesMask | 1 << i; //isExistRelyPackage = true; break; } } } bundles.Add(EditPackageConfigTmp); m_BundleDictCache.Add(EditPackageConfigTmp.name, EditPackageConfigTmp); } }
public static void OnObjectAddedFromTool(EditorObject obj) { Binding.FCE_ObjectManager_OnObjectAddedFromTool(obj.Pointer); }
bool isExist_Bundle(EditorObject obj, EditPackageConfig package) { return(isExist_EditorList(package.objects, obj)); }
// create objects based on data within level. void CreateFromFile() { GameObject newObj; // make a new object. for (int i = 0; i < level.editorObjects.Count; i++) { if (level.editorObjects[i].objectType == EditorObject.ObjectType.Cylinder) // if a cylinder object { // create cylinder newObj = GameObject.CreatePrimitive(PrimitiveType.Cylinder); newObj.transform.position = level.editorObjects[i].pos; // set position from data in level newObj.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. newObj.layer = 9; // assign to SpawnedObjects layer. //Add editor object component and feed data. EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.pos = newObj.transform.position; eo.data.rot = newObj.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Cylinder; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Cube) { // create cube newObj = GameObject.CreatePrimitive(PrimitiveType.Cube); newObj.transform.position = level.editorObjects[i].pos; // set position from data in level newObj.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. newObj.layer = 9; // assign to SpawnedObjects layer. //Add editor object component and feed data. EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.pos = newObj.transform.position; eo.data.rot = newObj.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Cube; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Sphere) { // create sphere newObj = GameObject.CreatePrimitive(PrimitiveType.Sphere); newObj.transform.position = level.editorObjects[i].pos; // set position from data in level newObj.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. newObj.layer = 9; // assign to SpawnedObjects layer. //Add editor object component and feed data. EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.pos = newObj.transform.position; eo.data.rot = newObj.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Sphere; } else if (level.editorObjects[i].objectType == EditorObject.ObjectType.Player) { // create player marker newObj = Instantiate(user.Player, transform.position, Quaternion.identity); newObj.layer = 9; // assign to SpawnedObjects layer. newObj.AddComponent <CapsuleCollider>(); // make capsule collider component newObj.GetComponent <CapsuleCollider>().center = new Vector3(0, 1, 0); newObj.GetComponent <CapsuleCollider>().height = 2; newObj.transform.position = level.editorObjects[i].pos; // set position from data in level newObj.transform.rotation = level.editorObjects[i].rot; // set rotation from data in level. playerPlaced = true; //Add editor object component and feed data. EditorObject eo = newObj.AddComponent <EditorObject>(); eo.data.pos = newObj.transform.position; eo.data.rot = newObj.transform.rotation; eo.data.objectType = EditorObject.ObjectType.Player; } } //Clear level box levelNameLoad.text = ""; levelNameLoad.DeactivateInputField(); // remove focus from input field loadUIAnimation.SetTrigger("SaveLoadOut"); // slide load menu off screen saveLoadPositionIn = false; // indicate load menu off screen saveLoadMenuOpen = false; // allow camera movement. //Display message levelMessage.text = "Level loading...done."; messageAnim.Play("MessageFade", 0, 0); }