public IndexReference Create(ActionSet actionSet, ClassData classData) { // Classes are stored in the class array (`classData.ClassArray`), // this stores the index where the new class is created at. var classReference = actionSet.VarCollection.Assign("_new_" + Name + "_class_index", actionSet.IsGlobal, true); classData.GetClassIndex(Identifier, classReference, actionSet); // Get object variables. BaseSetup(actionSet, (Element)classReference.GetVariable()); return(classReference); }
public override IWorkshopTree New(ActionSet actionSet, Constructor constructor, IWorkshopTree[] constructorValues, object[] additionalParameterData) { actionSet = actionSet.New(actionSet.IndexAssigner.CreateContained()); ClassData classData = actionSet.Translate.DeltinScript.GetComponent <ClassData>(); // Classes are stored in the class array (`classData.ClassArray`), // this stores the index where the new class is created at. var classReference = actionSet.VarCollection.Assign("_new_" + Name + "_class_index", actionSet.IsGlobal, true); classData.GetClassIndex(Identifier, classReference, actionSet); // Get object variables. BaseSetup(actionSet, (Element)classReference.GetVariable()); New(actionSet, new NewClassInfo(classReference, constructor, constructorValues, additionalParameterData)); // Return the reference. return(classReference.GetVariable()); }