public void SetAttributeSafe(int attribId, int valueX, int valueY, int valueZ, int valueW) { PKFxFxAsset.AttributeDesc attributeDesc = m_FxAsset.m_AttributeDescs[attribId]; if (attributeDesc.m_Type != PKFxManagerImpl.EBaseType.Int4) { Debug.LogError("Type mismatch for the attribute"); return; } if (attributeDesc.HasMin()) { valueX = Mathf.Max(PKFxManagerImpl.Float2Int(attributeDesc.m_MinValue0), valueX); valueY = Mathf.Max(PKFxManagerImpl.Float2Int(attributeDesc.m_MinValue1), valueY); valueZ = Mathf.Max(PKFxManagerImpl.Float2Int(attributeDesc.m_MinValue2), valueZ); valueW = Mathf.Max(PKFxManagerImpl.Float2Int(attributeDesc.m_MinValue3), valueW); } if (attributeDesc.HasMax()) { valueX = Mathf.Min(PKFxManagerImpl.Float2Int(attributeDesc.m_MaxValue0), valueX); valueY = Mathf.Min(PKFxManagerImpl.Float2Int(attributeDesc.m_MaxValue1), valueY); valueZ = Mathf.Min(PKFxManagerImpl.Float2Int(attributeDesc.m_MaxValue2), valueZ); valueW = Mathf.Min(PKFxManagerImpl.Float2Int(attributeDesc.m_MaxValue3), valueW); } SetAttributeUnsafe(attribId, valueX, valueY, valueZ, valueW); }
public void SetAttributeSafe(int attribId, float valueX) { PKFxFxAsset.AttributeDesc attributeDesc = m_FxAsset.m_AttributeDescs[attribId]; if (attributeDesc.m_Type != PKFxManagerImpl.EBaseType.Float) { Debug.LogError("Type mismatch for the attribute"); return; } if (attributeDesc.HasMin()) { valueX = Mathf.Max(attributeDesc.m_MinValue0, valueX); } if (attributeDesc.HasMax()) { valueX = Mathf.Min(attributeDesc.m_MaxValue0, valueX); } SetAttributeUnsafe(attribId, valueX); }