public void AddConstructAnim(Vector3 pos, PlatformEditorData platformEditor) { ConstructAnim newConstructAnim = Instantiate(constructAnim); newConstructAnim.Init(pos, platformEditor, timeToCreate); Invoke("UpdateWorldFloorCorners", timeToCreate + 0.1f); }
public override void OnCreateAt(Transform t) { PlatformEditorData platformEditor = t.gameObject.GetComponent <PlatformEditorData>(); WorldFloor worldFloorSelected = platformEditor.GetComponentInParent <WorldFloor>(); if (worldFloorSelected == null) { return; } Vector3 pos = worldFloorSelected.transform.position; switch (platformEditor.part) { case PlatformEditorData.parts.FRONT: pos.z += 3; break; case PlatformEditorData.parts.BACK: pos.z -= 3; break; case PlatformEditorData.parts.LEFT: pos.x -= 3; break; case PlatformEditorData.parts.RIGHT: pos.x += 3; break; } if (!worldCreator.GetWorldAssetAt(worldAsset, worldCreator.roomContainer.GetComponentsInChildren <WorldFloor>(), pos)) { worldFloorSelected.SetCorner(platformEditor, false); worldCreator.EditorCreateWorldAsset(worldAsset, pos, Vector3.zero); worldCreator.AddConstructAnim(pos, platformEditor); } }
public override void OnCreateAt(Transform t) { PlatformEditorData platformEditor = t.gameObject.GetComponent <PlatformEditorData>(); Vector3 pos = platformEditor.transform.position; Vector3 rot = Vector3.zero; if (platformEditor.part == PlatformEditorData.parts.LEFT || platformEditor.part == PlatformEditorData.parts.RIGHT) { rot.y = 90; } worldCreator.EditorCreateWorldAsset(worldAsset, pos, rot); }
public void SetCorner(PlatformEditorData platformEditor, bool showIt) { switch (platformEditor.part) { case PlatformEditorData.parts.FRONT: editingObjects[0].SetState(showIt); break; case PlatformEditorData.parts.BACK: editingObjects[1].SetState(showIt); break; case PlatformEditorData.parts.LEFT: editingObjects[3].SetState(showIt); break; case PlatformEditorData.parts.RIGHT: editingObjects[2].SetState(showIt); break; } }
public void Init(Vector3 pos, PlatformEditorData platformEditor, float timeToCreate) { int Y_degrees = 0; switch (platformEditor.part) { case PlatformEditorData.parts.FRONT: Y_degrees = 0; break; case PlatformEditorData.parts.BACK: Y_degrees = 180; break; case PlatformEditorData.parts.LEFT: Y_degrees = 270; break; case PlatformEditorData.parts.RIGHT: Y_degrees = 90; break; } transform.localPosition = pos; transform.localEulerAngles = new Vector3(0, Y_degrees, 0); Invoke("SetOff", timeToCreate); }