/
editorresourcepreviewgenerator.gen.go
144 lines (116 loc) · 5.31 KB
/
editorresourcepreviewgenerator.gen.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package godot
import (
"github.com/shadowapex/godot-go/gdnative"
)
/*------------------------------------------------------------------------------
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. Any updates should be done in
// "class.go.tmpl" so they can be included in the generated
// code.
//----------------------------------------------------------------------------*/
//func NewEditorResourcePreviewGeneratorFromPointer(ptr gdnative.Pointer) EditorResourcePreviewGenerator {
func newEditorResourcePreviewGeneratorFromPointer(ptr gdnative.Pointer) EditorResourcePreviewGenerator {
owner := gdnative.NewObjectFromPointer(ptr)
obj := EditorResourcePreviewGenerator{}
obj.SetBaseObject(owner)
return obj
}
/*
Custom code to generate previews. Please check "file_dialog/thumbnail_size" in EditorSettings to find out the right size to do previews at.
*/
type EditorResourcePreviewGenerator struct {
Reference
owner gdnative.Object
}
func (o *EditorResourcePreviewGenerator) BaseClass() string {
return "EditorResourcePreviewGenerator"
}
/*
Generate a preview from a given resource. This must be always implemented. Returning an empty texture is an OK way to fail and let another generator take care. Care must be taken because this function is always called from a thread (not the main thread).
Args: [{ false from Resource}], Returns: Texture
*/
func (o *EditorResourcePreviewGenerator) Generate(from ResourceImplementer) TextureImplementer {
//log.Println("Calling EditorResourcePreviewGenerator.Generate()")
// Build out the method's arguments
ptrArguments := make([]gdnative.Pointer, 1, 1)
ptrArguments[0] = gdnative.NewPointerFromObject(from.GetBaseObject())
// Get the method bind
methodBind := gdnative.NewMethodBind("EditorResourcePreviewGenerator", "generate")
// Call the parent method.
// Texture
retPtr := gdnative.NewEmptyObject()
gdnative.MethodBindPtrCall(methodBind, o.GetBaseObject(), ptrArguments, retPtr)
// If we have a return type, convert it from a pointer into its actual object.
ret := newTextureFromPointer(retPtr)
// Check to see if we already have an instance of this object in our Go instance registry.
if instance, ok := InstanceRegistry.Get(ret.GetBaseObject().ID()); ok {
return instance.(TextureImplementer)
}
// Check to see what kind of class this is and create it. This is generally used with
// GetNode().
className := ret.GetClass()
if className != "Texture" {
actualRet := getActualClass(className, ret.GetBaseObject())
return actualRet.(TextureImplementer)
}
return &ret
}
/*
Generate a preview directly from a path, implementing this is optional, as default code will load and call generate() Returning an empty texture is an OK way to fail and let another generator take care. Care must be taken because this function is always called from a thread (not the main thread).
Args: [{ false path String}], Returns: Texture
*/
func (o *EditorResourcePreviewGenerator) GenerateFromPath(path gdnative.String) TextureImplementer {
//log.Println("Calling EditorResourcePreviewGenerator.GenerateFromPath()")
// Build out the method's arguments
ptrArguments := make([]gdnative.Pointer, 1, 1)
ptrArguments[0] = gdnative.NewPointerFromString(path)
// Get the method bind
methodBind := gdnative.NewMethodBind("EditorResourcePreviewGenerator", "generate_from_path")
// Call the parent method.
// Texture
retPtr := gdnative.NewEmptyObject()
gdnative.MethodBindPtrCall(methodBind, o.GetBaseObject(), ptrArguments, retPtr)
// If we have a return type, convert it from a pointer into its actual object.
ret := newTextureFromPointer(retPtr)
// Check to see if we already have an instance of this object in our Go instance registry.
if instance, ok := InstanceRegistry.Get(ret.GetBaseObject().ID()); ok {
return instance.(TextureImplementer)
}
// Check to see what kind of class this is and create it. This is generally used with
// GetNode().
className := ret.GetClass()
if className != "Texture" {
actualRet := getActualClass(className, ret.GetBaseObject())
return actualRet.(TextureImplementer)
}
return &ret
}
/*
Return if your generator supports this resource type.
Args: [{ false type String}], Returns: bool
*/
func (o *EditorResourcePreviewGenerator) Handles(aType gdnative.String) gdnative.Bool {
//log.Println("Calling EditorResourcePreviewGenerator.Handles()")
// Build out the method's arguments
ptrArguments := make([]gdnative.Pointer, 1, 1)
ptrArguments[0] = gdnative.NewPointerFromString(aType)
// Get the method bind
methodBind := gdnative.NewMethodBind("EditorResourcePreviewGenerator", "handles")
// Call the parent method.
// bool
retPtr := gdnative.NewEmptyBool()
gdnative.MethodBindPtrCall(methodBind, o.GetBaseObject(), ptrArguments, retPtr)
// If we have a return type, convert it from a pointer into its actual object.
ret := gdnative.NewBoolFromPointer(retPtr)
return ret
}
// EditorResourcePreviewGeneratorImplementer is an interface that implements the methods
// of the EditorResourcePreviewGenerator class.
type EditorResourcePreviewGeneratorImplementer interface {
ReferenceImplementer
Generate(from ResourceImplementer) TextureImplementer
GenerateFromPath(path gdnative.String) TextureImplementer
Handles(aType gdnative.String) gdnative.Bool
}