private void Init() { trigger = GetComponent <ObservableTriggerTrigger>(); trigger .OnTriggerEnterAsObservable() .Subscribe(CollisionAction) .AddTo(this); }
private void Init() { m_CollisionTrigger = GetComponent <ObservableTriggerTrigger>(); m_Movement = GetComponent <IAsteroidMovement>(); m_CollisionTrigger .OnTriggerEnterAsObservable() .Subscribe(CollisionRedirection) .AddTo(this); m_Init = true; }
private void Start() { _cubePool = new ColorCubePool(colorCubePrefab); ObservableRandomEventTrigger spawnStream = gameObject.AddComponent <ObservableRandomEventTrigger>(); spawnStream.OnRandomEventAsObservable().Subscribe(_ => { var colorCube = _cubePool.Rent(); colorCube.ColorCubePool = _cubePool; // Debug.Log("SPAWNED NEW CUBE FROM POOL"); }); ObservableTriggerTrigger scoreCubeCountTrigger = scoreCube.AddComponent <ObservableTriggerTrigger>(); scoreCubeCountTrigger.OnTriggerEnterAsObservable().Subscribe(x => { if (x.GetComponent <Renderer>().material.color.r == scoreCube.GetComponent <Renderer>().material.color.r) { isScoreable.Value = true; } }); scoreCubeCountTrigger.OnTriggerExitAsObservable().Subscribe(_ => { isScoreable.Value = false; }); ObservableRandomEventTrigger scorCubeRandomColorTrigger = scoreCube.AddComponent <ObservableRandomEventTrigger>(); scorCubeRandomColorTrigger.OnRandomEventAsObservable().Subscribe(_ => { scoreCube.GetComponent <Renderer>().material = _materialsAlpha[UnityEngine.Random.Range(0, 2)]; }); scoreButton.OnClickAsObservable().Subscribe(_ => { if (isScoreable.Value) { score.Value++; isScoreable.Value = false; } else { score.Value--; } }); score.SubscribeToText(scoreText); }