Итак, у меня есть следующий код для переключения оружия внутри метки-заполнителя, и я хочу расширить его, чтобы переключать оружие и с кнопки, чтобы я мог переключать их и на своем мобильном телефоне.
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class WeaponSwitcher : MonoBehaviour {
public int selectedWeapon = 0;
// Use this for initialization
void Start () {
SelectWeapon();
}
// Update is called once per frame
void Update () {
int previousSelectedWeapon = selectedWeapon;
if (Input.GetAxis ("Mouse ScrollWheel") > 0f)
{
if (selectedWeapon >= transform.childCount - 1)
selectedWeapon = 0;
else
selectedWeapon++;
}
if (Input.GetAxis ("Mouse ScrollWheel") < 0f)
{
if (selectedWeapon <= 0)
selectedWeapon = transform.childCount - 1;
else
selectedWeapon--;
}
if (previousSelectedWeapon != selectedWeapon)
{
SelectWeapon ();
}
}
void SelectWeapon()
{
int i = 0;
foreach (Transform weapon in transform)
{
if (i == selectedWeapon)
weapon.gameObject.SetActive (true);
else
weapon.gameObject.SetActive (false);
i++;
}
}
}
Что мне делать?Я новичок, и все, что я пробовал, не сработало: /
Я пробовал с помощью независимого скрипта только для кнопки, чтобы найти, какое оружие активно, и деактивировать другое (всего два) и т. Д., Ноэто не сработало.
public class ChangeWeapon : MonoBehaviour
{
public GameObject gun;
public GameObject shotgun;
void switchWeapons ()
{
gun = GameObject.Find("Gun");
shotgun = GameObject.Find("Shotgun");
if (gun.gameObject.activeSelf)
{
shotgun.gameObject.SetActive (true);
gun.gameObject.SetActive (false);
}
else
{
shotgun.gameObject.SetActive (false);
gun.gameObject.SetActive (true);
}
}
}