예제 #1
0
        void IEffect.Update(IMatchedObjects matched)
        {
            var pos = matched.Objects[0].transform.position + _generateObjectPrefab.transform.position + _positionDiff;
            var rot = Quaternion.Euler(matched.Objects[0].transform.rotation.eulerAngles + _generateObjectPrefab.transform.rotation.eulerAngles + _rotationDiff);

            GameObject.Instantiate(_generateObjectPrefab, pos, rot, ObjectManager.Instance.transform);
        }
예제 #2
0
        void IEffect.Update(IMatchedObjects matched)
        {
            var objs = matched.Objects;

            if (_directions != null)
            {
                for (int i = 0; i < objs.Length; i++)
                {
                    objs[i].transform.position += _directions[i];
                }
            }
            else if (_directionFunc != null)
            {
                foreach (var obj in objs)
                {
                    obj.transform.position += _directionFunc(obj.transform);
                }
            }
        }
예제 #3
0
        void IEffect.Update(IMatchedObjects matched)
        {
            var objs = matched.Objects;

            switch (_option)
            {
            case Option.All:
                foreach (var obj in objs)
                {
                    GameObject.DestroyImmediate(obj.gameObject);
                }
                break;

            case Option.First:
                GameObject.DestroyImmediate(objs[0].gameObject);
                break;

            case Option.Second:
                GameObject.DestroyImmediate(objs[1].gameObject);
                break;
            }
        }