void HandleCSComponentLoad(CSComponentLoadEvent e) { var scriptMap = e.scriptMap; // Get the NativeInstance as an IntPtr, otherwise we would be wrapping as a CSComponent IntPtr csnative = scriptMap.GetVoidPtr("NativeInstance"); IntPtr fieldValues = IntPtr.Zero; if (scriptMap.Contains("FieldValues")) { fieldValues = scriptMap.GetVoidPtr("FieldValues"); } CSComponentInfo csinfo; if (!CSComponentCore.componentCache.TryGetValue(e.ClassName, out csinfo)) { return; } NativeCore.NativeContructorOverride = csnative; var component = (CSComponent)Activator.CreateInstance(csinfo.Type); NativeCore.VerifyNativeContructorOverrideConsumed(); if (fieldValues != IntPtr.Zero) { csinfo.ApplyFieldValues(component, fieldValues); } AddCSComponent(component); }
void HandleCSComponentLoad(CSComponentLoadEvent e) { var scriptMap = e.scriptMap; // Get the NativeInstance as an IntPtr, otherwise we would be wrapping as a CSComponent IntPtr csnative = scriptMap.GetVoidPtr("NativeInstance"); IntPtr fieldValues = IntPtr.Zero; if (scriptMap.Contains("FieldValues")) { fieldValues = scriptMap.GetVoidPtr("FieldValues"); } CSComponentInfo csinfo; if (!CSComponentCore.componentCache.TryGetValue(e.ClassName, out csinfo)) { Log.Error("Scene.HandleCSComponentLoad - unable to find CSComponent in cache for classname: " + e.ClassName); return; } var component = CSComponent.LoadCreateInstance(csinfo.Type, csnative); if (component == null) { Log.Error("Scene.HandleCSComponentLoad - unable to create CSComponent for classname: " + e.ClassName); return; } if (fieldValues != IntPtr.Zero) { csinfo.ApplyFieldValues(component, fieldValues); } AddCSComponent(component); }
void HandleCSComponentLoad(CSComponentLoadEvent e) { var scriptMap = e.scriptMap; // Get the NativeInstance as an IntPtr, otherwise we would be wrapping as a CSComponent IntPtr csnative = scriptMap.GetVoidPtr("NativeInstance"); IntPtr fieldValues = IntPtr.Zero; if (scriptMap.Contains("FieldValues")) fieldValues = scriptMap.GetVoidPtr("FieldValues"); CSComponentInfo csinfo; if (!CSComponentCore.componentCache.TryGetValue(e.ClassName, out csinfo)) { return; } NativeCore.NativeContructorOverride = csnative; var component = (CSComponent)Activator.CreateInstance(csinfo.Type); NativeCore.VerifyNativeContructorOverrideConsumed(); if (fieldValues != IntPtr.Zero) csinfo.ApplyFieldValues(component, fieldValues); AddCSComponent(component); }
void HandleCSComponentLoad(CSComponentLoadEvent e) { var scriptMap = e.scriptMap; // Get the NativeInstance as an IntPtr, otherwise we would be wrapping as a CSComponent IntPtr csnative = scriptMap.GetVoidPtr("NativeInstance"); IntPtr fieldValues = IntPtr.Zero; if (scriptMap.Contains("FieldValues")) fieldValues = scriptMap.GetVoidPtr("FieldValues"); CSComponentInfo csinfo; if (!CSComponentCore.componentCache.TryGetValue(e.ClassName, out csinfo)) { Log.Error("Scene.HandleCSComponentLoad - unable to find CSComponent in cache for classname: " + e.ClassName ); return; } var component = CSComponent.LoadCreateInstance(csinfo.Type, csnative); if (component == null) { Log.Error("Scene.HandleCSComponentLoad - unable to create CSComponent for classname: " + e.ClassName); return; } if (fieldValues != IntPtr.Zero) csinfo.ApplyFieldValues(component, fieldValues); AddCSComponent(component); }