@@ -1204,7 +1204,7 @@ namespace Flax.Build.Bindings
|
|||||||
if (apiType != null)
|
if (apiType != null)
|
||||||
{
|
{
|
||||||
if (parameterInfo.IsOut)
|
if (parameterInfo.IsOut)
|
||||||
contents.Append(indent).AppendFormat("{1} {0}Temp;", parameterInfo.Name, new TypeInfo(parameterInfo.Type) { IsRef = false }.GetFullNameNative(buildData, caller)).AppendLine();
|
contents.Append(indent).AppendFormat("{1} {0}Temp;", parameterInfo.Name, parameterInfo.Type.GetFullNameNative(buildData, caller, false)).AppendLine();
|
||||||
else
|
else
|
||||||
contents.Append(indent).AppendFormat("auto {0}Temp = {1};", parameterInfo.Name, param).AppendLine();
|
contents.Append(indent).AppendFormat("auto {0}Temp = {1};", parameterInfo.Name, param).AppendLine();
|
||||||
if (parameterInfo.Type.IsPtr && !parameterInfo.Type.IsRef)
|
if (parameterInfo.Type.IsPtr && !parameterInfo.Type.IsRef)
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ namespace Flax.Build.Bindings
|
|||||||
GenericArgs = BindingsGenerator.Read(reader, GenericArgs);
|
GenericArgs = BindingsGenerator.Read(reader, GenericArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetFullNameNative(Builder.BuildData buildData, ApiTypeInfo caller)
|
public string GetFullNameNative(Builder.BuildData buildData, ApiTypeInfo caller, bool canRef = true, bool canConst = true)
|
||||||
{
|
{
|
||||||
var type = BindingsGenerator.FindApiTypeInfo(buildData, this, caller);
|
var type = BindingsGenerator.FindApiTypeInfo(buildData, this, caller);
|
||||||
if (type == null)
|
if (type == null)
|
||||||
@@ -155,7 +155,7 @@ namespace Flax.Build.Bindings
|
|||||||
return type.FullNameNative;
|
return type.FullNameNative;
|
||||||
|
|
||||||
var sb = new StringBuilder(64);
|
var sb = new StringBuilder(64);
|
||||||
if (IsConst)
|
if (IsConst && canConst)
|
||||||
sb.Append("const ");
|
sb.Append("const ");
|
||||||
sb.Append(type.FullNameNative);
|
sb.Append(type.FullNameNative);
|
||||||
if (GenericArgs != null)
|
if (GenericArgs != null)
|
||||||
@@ -171,7 +171,7 @@ namespace Flax.Build.Bindings
|
|||||||
}
|
}
|
||||||
if (IsPtr)
|
if (IsPtr)
|
||||||
sb.Append('*');
|
sb.Append('*');
|
||||||
if (IsRef)
|
if (IsRef && canRef)
|
||||||
sb.Append('&');
|
sb.Append('&');
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ namespace Flax.Build.Plugins
|
|||||||
|
|
||||||
// Deserialize arguments
|
// Deserialize arguments
|
||||||
argNames += arg.Name;
|
argNames += arg.Name;
|
||||||
contents.AppendLine($" {arg.Type.Type} {arg.Name};");
|
contents.AppendLine($" {arg.Type.GetFullNameNative(buildData, typeInfo, false, false)} {arg.Name};");
|
||||||
contents.AppendLine($" stream->Read({arg.Name});");
|
contents.AppendLine($" stream->Read({arg.Name});");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -270,7 +270,7 @@ namespace Flax.Build.Plugins
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Serialize arguments
|
// Serialize arguments
|
||||||
contents.AppendLine($" stream->Write(*({arg.Type.Type}*)args[{i}]);");
|
contents.AppendLine($" stream->Write(*(const {arg.Type.GetFullNameNative(buildData, typeInfo, false, false)}*)args[{i}]);");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Invoke RPC
|
// Invoke RPC
|
||||||
|
|||||||
Reference in New Issue
Block a user