123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- using System;
- using System.Linq;
- using System.Runtime.CompilerServices;
- using UnityEngine;
- using UnityEngine.VFX;
- namespace UnityEditor.VFX
- {
- abstract class VFXExpressionUnaryFloatOperation : VFXExpressionUnaryNumericOperation
- {
- public VFXExpressionUnaryFloatOperation(VFXExpression parent, VFXExpressionOperation operation) : base(parent, operation)
- {
- if (!IsFloatValueType(parent.valueType))
- {
- throw new ArgumentException("Incorrect VFXExpressionUnaryFloatOperation");
- }
- }
- sealed protected override int ProcessUnaryOperation(int input)
- {
- throw new NotImplementedException();
- }
- sealed protected override uint ProcessUnaryOperation(uint input)
- {
- throw new NotImplementedException();
- }
- sealed protected override bool ProcessUnaryOperation(bool input)
- {
- throw new NotImplementedException();
- }
- sealed protected override string GetUnaryOperationCode(string x, VFXValueType type)
- {
- if (type != VFXValueType.Float)
- throw new InvalidOperationException("VFXExpressionUnaryFloatOperation : Unexpected type");
- return GetUnaryOperationCode(x);
- }
- abstract protected string GetUnaryOperationCode(string x);
- }
- abstract class VFXExpressionBinaryFloatOperation : VFXExpressionBinaryNumericOperation
- {
- protected VFXExpressionBinaryFloatOperation(VFXExpression parentLeft, VFXExpression parentRight, VFXExpressionOperation operation)
- : base(parentLeft, parentRight, operation)
- {
- if (!IsFloatValueType(parentLeft.valueType) || !IsFloatValueType(parentRight.valueType))
- {
- throw new ArgumentException("Incorrect VFXExpressionBinaryFloatOperation (not float type)");
- }
- }
- sealed protected override int ProcessBinaryOperation(int x, int y)
- {
- throw new NotImplementedException();
- }
- sealed protected override uint ProcessBinaryOperation(uint x, uint y)
- {
- throw new NotImplementedException();
- }
- sealed protected override bool ProcessBinaryOperation(bool x, bool y)
- {
- throw new NotImplementedException();
- }
- sealed protected override string GetBinaryOperationCode(string x, string y, VFXValueType type)
- {
- if (type != VFXValueType.Float)
- {
- throw new InvalidOperationException("Invalid VFXExpressionBinaryFloatOperation");
- }
- return GetBinaryOperationCode(x, y);
- }
- protected abstract string GetBinaryOperationCode(string x, string y);
- }
- }
|