public class SomeComponent : MonoBehaviour
{
public SomeClass SomeClass { get; private set; }
private void Awake()
{
SomeClass = new SomeClass();
}
}
public class SomeClass
{
public int SomeProperty { get; private set; }
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.TryGetComponent(out SomeComponent someComponent)) // SomeComponent должен иметь в себе NameClass
{
var someProperty = someComponent.SomeClass.SomeProperty;
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.TryGetComponent(out SomeComponent someComponent)) // SomeComponent должен иметь в себе NameClass
{
someComponent.NameClassInstance.peremennaya...
}
}
public class Health
{
public int Current { get; private set; }
public int Max { get; private set; }
public void Restore(int value)
{
SetCurrent(Current + value);
}
public void Lose(int value)
{
SetCurrent(Current - value);
}
public void SetMax(int value)
{
Max = value;
Current = Max;
}
private void SetCurrent(int value)
{
Current = Mathf.Clamp(value, 0, Max);
}
}
public class Forward : MonoBehaviour
{
public int Google { get; private set; }
}
public class Component : MonoBehaviour
{
[SerializeField] private Forward _firstComponent;
private void Sample()
{
Debug.Log(_firstComponent.Google);
}
}
Returns the value corresponding to key in the preference file if it exists.
Ты НЕ ИЗМЕНЯЕШЬ ShopAssist.money. У тебя в ShopAssist есть метод TryRemoveMoney используй его, чтобы отнять деньги. В твоем случае это будет script1.TryRemoveMoney(количество).
Во-первых, не надо пытаться уместить все в одну строку, потому что в одной строке, состоящей из множества дичи разобраться будет куда сложнее чем в нескольких строках. Место тоже экономить не надо.
Во-вторых, в твоем случае не надо отдельно изменять x и y, достаточно создать локальную переменную, присвоить ей значение transform.position и к ней уже прибавить скорость и т.д.