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); }
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); } } }
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; } }