// // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved // LICENSE: Atomic Game Engine Editor and Tools EULA // Please see LICENSE_ATOMIC_EDITOR_AND_TOOLS.md in repository root for // license information: https://github.com/AtomicGameEngine/AtomicGameEngine // #include #include #include "../JSBind.h" #include "../JSBModule.h" #include "../JSBPackage.h" #include "../JSBEnum.h" #include "../JSBClass.h" #include "CSModuleWriter.h" #include "CSPackageWriter.h" namespace ToolCore { CSPackageWriter::CSPackageWriter(JSBPackage *package) : JSBPackageWriter(package) { } void CSPackageWriter::GenerateNativeSource() { String source = "// This file was autogenerated by JSBind, changes will be lost\n\n"; JSBind* jsbind = package_->GetSubsystem(); String filepath = jsbind->GetDestNativeFolder() + "/CSPackage" + package_->name_ + ".cpp"; File file(package_->GetContext()); file.Open(filepath, FILE_WRITE); file.Write(source.CString(), source.Length()); file.Close(); } void CSPackageWriter::GenerateManagedSource() { } void CSPackageWriter::GenerateSource() { GenerateNativeSource(); GenerateManagedSource(); for (unsigned i = 0; i < package_->modules_.Size(); i++) { CSModuleWriter writer(package_->modules_[i]); writer.GenerateSource(); } } }