123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- {{ $view := . }}{{ $API := $view.API -}}
- package godot
- import (
- "git.alfi.li/gamelang/gdnative-go"
- "log"
- )
- /*------------------------------------------------------------------------------
- // 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
- // "convert.go.tmpl" so they can be included in the generated
- // code.
- //----------------------------------------------------------------------------*/
- // getActualClass will return the concrete class type of the godot object based on
- // the given class name.
- func getActualClass(className gdnative.String, obj gdnative.Object) ObjectImplementer {
- // Check to see if we already have an instance of this object in our Go instance registry.
- if debug {
- log.Println("Checking to see if", obj.ID(), "is in registry:", InstanceRegistry)
- }
- if instance, ok := InstanceRegistry.Get(obj.ID()); ok {
- if debug {
- log.Println("Class instance already found in registry!")
- }
- return instance.(ObjectImplementer)
- }
- switch className {
- {{ range $i, $api := $view.APIs -}}
- {{ if $view.IsValidClass $api.Name $api.BaseClass -}}
- {{ if (not $api.Singleton) -}}
- case "{{ $api.Name }}":
- class := &{{ $view.SetClassName $api.Name $api.Singleton }}{}
- class.SetBaseObject(obj)
- return class
- {{ end -}}
- {{ end -}}
- {{ end -}}
- }
- log.Println("Could not find conversion for '" + className + "'. Defaulting to Object...")
- return &Object{owner: obj}
- }
|