private void removeSpriteButton_Click(object sender, EventArgs e) { int indexToRemove = spriteList.SelectedIndex; if (indexToRemove == sprites.Count - 1) { spriteList.SelectedIndices.Clear(); spriteList.SelectedIndex = indexToRemove - 1; } if (indexToRemove > -1 && indexToRemove < sprites.Count) { var modification = new RemoveSprite(sprites, indexToRemove); ModHelper.DoModificationWithSelectionTracking(modification, spriteList); undoHistory.Add(modification); } }
// Update is called once per frame void Update() { // イメージ画像が存在していれば if (moveImage) { // ボタンを離した瞬間 if (Input.GetMouseButtonUp(0)) { // 配列分繰り返す for (int i = 0; i < col.Length; i++) { // マウスのポジションがコライダーの上にあるとき if (col[i].OverlapPoint(Input.mousePosition)) { // もし先に何かスキルがセットされていたら if (skills[i] != moveImage) { // そのスキルを削除する GameObject.Destroy(skills[i]); } // スキル配列にスキルの画像をセットする skills[i] = GameObject.Instantiate(moveImage); GameObject.Destroy(moveImage); // 親を自分に設定する skills[i].transform.SetParent(this.transform); // 位置を調整し、サイズを変更する skills[i].transform.position = col[i].bounds.center; skills[i].transform.localScale = new Vector3(1f, 1f, 1f); skills[i].GetComponent <RectTransform>().sizeDelta = new Vector2(80f, 80f); // 動かすコンポーネントをオフにする skills[i].GetComponent <MoveSprite>().enabled = false; // アイテムを使うクラスの変数定義 UseItem useItem; // そのセットされたものがアイテムならば if ((useItem = skills[i].GetComponent <UseItem>())) { // アイテムを使うスクリプトに番号をセットする useItem.enabled = true; useItem.skillPaletteNumber = i; skillorItemFlag[i] = PALETTE_CODE.ITEM; // アイテムの使用フラグが立っていれば if (UseItem.itemCoolTimeFlag) { // クールタイムのオブジェクトをアクティブにする itemCoolTimeObjects[i].SetActive(true); } } else { // スキルを使うコンポーネントを取得する UseSkill useSkill = skills[i].GetComponent <UseSkill>(); // セットされたものはスキルとする skillorItemFlag[i] = PALETTE_CODE.SKILL; // スキルがセットされているパレットの番号をセットする useSkill.skillPaletteNumber = i; // スキルを使えるようにする useSkill.enabled = true; // スキルを使うコンポーネントをセットする skillCoolTimeObjects[i].GetComponent <UpdateSkillCoolTime>().useSkill = useSkill; // スキルのクールタイムオブジェクトをアクティブ化する skillCoolTimeObjects[i].SetActive(true); } // 離れるコンポーネントをオンにする RemoveSprite skillComponent = skills[i].GetComponent <RemoveSprite>(); skillComponent.enabled = true; skillComponent.parentColliders = col[i]; // 参照を解放する moveImage = null; break; } } } } }