static void Init() { // Get existing open window or if none, make a new one: StageEditor window = (StageEditor)EditorWindow.GetWindow(typeof(StageEditor)); window.Show(); }
/// <summary> /// ステージの読み込み /// </summary> /// <param name="stageEditor">ベースクラス</param> private void LoadStage(StageEditor stageEditor) { stageEditor.loadStage = true; stageEditor.Data = Instantiate(pre); stageEditor.stageName = stageEditor.Data.stageName; GameObject o = Instantiate(pre.stage); stageEditor.cells = pre.gridCells; stageEditor.gridPos = new GameObject[pre.gridCells.x, pre.gridCells.y, pre.gridCells.z]; stageEditor._StageObjects = new GameObject[pre.gridCells.x, pre.gridCells.y, pre.gridCells.z]; stageEditor.EditStageInit(); ReStart: foreach (Transform child in o.transform) { child.gameObject.transform.parent = stageEditor.stageRoot.transform; Vector3Int v = Vector3Int.zero; if (child.GetComponent <MyCellIndex>()) { v = child.GetComponent <MyCellIndex>().cellIndex; } stageEditor.gridPos[v.x, v.y, v.z].GetComponent <HighlightObject>().IsAlreadyInstalled = true; stageEditor._StageObjects[v.x, v.y, v.z] = child.gameObject; } if (o.transform.childCount != 0) { goto ReStart; } Destroy(o); }
void Awake() { GameObject world = GameObject.Find("World"); if (world == null) { return; } GameObject stageRoot = GameObject.Find("World/Stage"); if (stageRoot != null) { GameObject.DestroyImmediate(stageRoot); } stageRoot = new GameObject("Stage"); stageRoot.transform.SetParent(world.transform); stageRoot.transform.localPosition = Vector3.zero; targetObject = new StageEditor(); targetObject.Init(); SceneView.onSceneGUIDelegate += OnSceneGUI; }
public override void OnInspectorGUI() { StageEditor stageEditor = target as StageEditor; base.OnInspectorGUI(); GUILayout.Label("-以下変更可-"); pre = (PrefabStageData)EditorGUILayout.ObjectField("読み込むステージ", pre, typeof(ScriptableObject), false); if (GUILayout.Button("NewStage")) { if (!EditorApplication.isPlaying) { return; } stageEditor.EditStageInit(); stageEditor.isCreateStage = true; } if (GUILayout.Button("LoadStage")) { if (!EditorApplication.isPlaying) { return; } LoadStage(stageEditor); stageEditor.isCreateStage = true; } }
protected override DialogResult showEditDialog(Stage entity) { StageEditor editor = new StageEditor((StageDao)this.dao); try { editor.entity = entity; editor.renderEntity(); return(editor.ShowDialog(this)); } catch (Exception ex) { MyMessageBox msgBox = new MyMessageBox("Data error!", ex, MyConstants.BOX_TYPE_ERROR); msgBox.ShowDialog(this); return(DialogResult.Abort); } }
protected override DialogResult showAddDialog(Stage entity) { StageEditor editor = new StageEditor((StageDao)this.dao); try { Stage stage = new Stage(); if (this.parentWindow.queryCondition != null) { stage.project_id = this.parentWindow.queryCondition.project_id; } editor.entity = stage; editor.renderEntity(); return(editor.ShowDialog(this)); } catch (Exception ex) { MyMessageBox msgBox = new MyMessageBox("Data error!", ex, MyConstants.BOX_TYPE_ERROR); msgBox.ShowDialog(this); return(DialogResult.Abort); } }
// Use this for initialization void Start() { instance = GetComponent <StageEditor>(); }
public static void OpenEditor() { StageEditor window = GetWindow <StageEditor>(); window.Show(); }
public Editor(Player player, GameObject parent) : base("Editor", parent) { session = new Session(new Player()); session.Hide(); waveData = Assets.Get(Assets.WaveDataSets.Default); stageData = Assets.Get(Assets.StageDataSets.Default); objectData = Assets.Get(Assets.ObjectDataSets.Default); campaignData = Assets.Get(Assets.CampaignDataSets.Default); if (waveData == null) { waveData = Assets.Create <WaveData>(Assets.waveDataPath); } if (stageData == null) { stageData = Assets.Create <StageData>(Assets.stageDataPath); } if (campaignData == null) { campaignData = Assets.Create <CampaignData>(Assets.campaignDataPath); } if (objectData == null) { objectData = Assets.Create <ObjectData>(Assets.objectDataPath); } if (objectData.enemySets.Count == 0) { ScriptableObjects.Add(ScriptableObject.CreateInstance <EnemySet>(), objectData); } if (objectData.itemSets.Count == 0) { ScriptableObjects.Add(ScriptableObject.CreateInstance <ItemSet>(), objectData); } if (objectData.heroSets.Count == 0) { ScriptableObjects.Add(ScriptableObject.CreateInstance <HeroSet>(), objectData); } for (int i = objectData.enemySets[(int)Assets.ObjectDataSets.Default].enemyDefinitions.Count; (int)Definitions.Enemies.Count > i; i++) { ScriptableObjects.Add(ScriptableObject.CreateInstance <EnemyDefinition>().Initialize(((Definitions.Enemies)i).ToString(), 2, 1, (Definitions.Enemies)i), objectData.enemySets[(int)Assets.ObjectDataSets.Default]); } for (int i = objectData.heroSets[(int)Assets.ObjectDataSets.Default].heroDefinitions.Count; (int)Definitions.Heroes.Count > i; i++) { ScriptableObjects.Add(ScriptableObject.CreateInstance <HeroDefinition>().Initialize(((Definitions.Heroes)i).ToString(), 2, 1, (Definitions.Heroes)i), objectData.heroSets[(int)Assets.ObjectDataSets.Default]); } for (int i = objectData.itemSets[(int)Assets.ObjectDataSets.Default].itemDefinitions.Count; (int)Definitions.Items.Count > i; i++) { ScriptableObjects.Add(ScriptableObject.CreateInstance <ItemDefinition>().Initialize(((Definitions.Items)i).ToString(), 2, 1, (Definitions.Items)i), objectData.itemSets[(int)Assets.ObjectDataSets.Default]); } Definitions.Initialize(objectData); Add(testButton = new Button("Test", 1.5f, 0.5f, container, "Test", fontSize: 20, Enter: (Button button) => button.SetColor(stage != null && missionEditor.selectedMission != null ? Color.green : button.color), Stay: (Button button) => { if (stage != null && missionEditor.selectedMission != null && Input.GetMouseButtonDown(0)) { if (level == null) { stage.conveyor.Show(); session.SetLevel(new Level(missionEditor.selectedMission.duration, showProgress: false)); for (int i = 0; missionEditor.selectedMission.waveDefinitions.Count > i; i++) { Wave wave = new Wave(missionEditor.selectedMission.waveTimes[i] * missionEditor.selectedMission.duration, stage); level.Add(wave); for (int j = 0; missionEditor.selectedMission.waveDefinitions[i].waveEvents.Count > j; j++) { switch ((WaveEvent.Type)missionEditor.selectedMission.waveDefinitions[i].waveEvents[j].type) { case WaveEvent.Type.SpawnEnemy: wave.Add(new SpawnEnemyEvent(Definitions.Enemy((Definitions.Enemies)missionEditor.selectedMission.waveDefinitions[i].waveEvents[j].subType), missionEditor.selectedMission.waveDefinitions[i].waveEvents[j])); break; } } } button.SetLabel("Stop"); button.SetPosition(saveButton.position); saveButton.Hide(); saveButton.Disable(); objectsButton.Hide(); campaignButton.Hide(); stageEditor.HideStageSets(); stageEditor.HideStageEditor(); stageEditor.HideStageDefinitions(); missionEditor.HideMissionEditor(); waveEditor.HideWaveEventButtons(); session.Start(); } else { session.Stop(); stage.ClearLanes(); conveyor.Hide(); conveyor.Clear(); button.SetLabel("Test"); level.DestroyProgress(); session.SetLevel(null); _heldItem = null; _itemTime = 0; saveButton.Show(); saveButton.Enable(); objectsButton.Show(); campaignButton.Show(); stageEditor.ShowStageSets(); stageEditor.ShowStageEditor(); missionEditor.ShowMissionEditor(); testButton.SetPosition(saveButton.position + Vector3.right * (saveButton.width)); if (waveEditor.selectedWaveDefinition != null) { waveEditor.ShowWaveEventButtons(); } } } }, Exit: (Button button) => button.SetColor(Color.white))); Add(saveButton = new Button("Save", 1.5f, 0.5f, container, "Save", fontSize: 20, Enter: (Button button) => button.SetColor(Color.green), Stay: (Button button) => { if (Input.GetMouseButtonDown(0)) { EditorUtility.SetDirty(campaignData); EditorUtility.SetDirty(objectData); EditorUtility.SetDirty(stageData); EditorUtility.SetDirty(waveData); ScriptableObjects.Save(); } }, Exit: (Button button) => button.SetColor(Color.white))); saveButton.SetViewportPosition(new Vector2(0, 1)); saveButton.SetPosition(saveButton.position + Vector3.up); testButton.SetPosition(saveButton.position + Vector3.right * (saveButton.width)); testButton.Disable(); testButton.Hide(); Add(campaignButton = new Button("Campaigns", 2, 0.5f, container, "CampaignsButton", fontSize: 20, Enter: (Button button) => button.SetColor(button.selected ? button.color : Color.green), Stay: (Button button) => { if (!button.selected && Input.GetMouseButtonDown(0)) { ShowCampaignEditor(); } }, Exit: (Button button) => button.SetColor(button.selected ? button.color : Color.white))); campaignButton.SetViewportPosition(new Vector2(1, 1)); campaignButton.SetPosition(campaignButton.position + (Vector3.left * campaignButton.width) + Vector3.up); Add(objectsButton = new Button("Objects", 2, 0.5f, container, "ObjectsButton", fontSize: 20, Enter: (Button button) => button.SetColor(button.selected ? button.color : Color.green), Stay: (Button button) => { if (!button.selected && Input.GetMouseButtonDown(0)) { ShowObjectEditors(); } }, Exit: (Button button) => button.SetColor(button.selected ? button.color : Color.white))); objectsButton.SetPosition(campaignButton.position + Vector3.left * (objectsButton.width)); Add(campaignMapEditor = new CampaignMapEditor(this, container)); Add(campaignEditor = new CampaignEditor(this, Vector3.zero, container)); Add(timelineEditor = new TimelineEditor(this, container)); Add(missionEditor = new MissionEditor(this, container)); Add(stageEditor = new StageEditor(this, container)); Add(enemyEditor = new EnemyEditor(this, container)); Add(waveEditor = new WaveEditor(this, container)); Add(itemEditor = new ItemEditor(this, container)); Add(heroEditor = new HeroEditor(this, container)); ShowCampaignEditor(); }