void Remove() { Simulation.active.RemoveRuntimeCondition(condition); condition = null; isRunning = false; addOrRemoveButton.text = "Add"; }
public override TreeBaseNode WalkGraphToCreateTree(BehaviourTree.BehaviourTree tree, Context currentContext) { RuntimeCondition brtc = new RuntimeCondition(conditionalSelector, tree.owner); TreeConditionNode node = new TreeConditionNode(tree, currentContext) { runtimeCondition = brtc }; return(WalkDecoratorNode(tree, node)); }
public void RemoveRuntimeCondition(RuntimeCondition condition) { positions = NativeArrayUtils.RemoveRange(positions, condition.startIndex, condition.numberOfParticles); positionsCopy = NativeArrayUtils.RemoveRange(positionsCopy, condition.startIndex, condition.numberOfParticles); velocities = NativeArrayUtils.RemoveRange(velocities, condition.startIndex, condition.numberOfParticles); masses = NativeArrayUtils.RemoveRange(masses, condition.startIndex, condition.numberOfParticles); particles = NativeArrayUtils.RemoveRange(particles, condition.startIndex, condition.numberOfParticles); nTotal -= condition.numberOfParticles; pSystem.SetParticles(particles, nTotal); int conditionIndex = runtimeConditionsSet.IndexOf(condition); for (int i = conditionIndex + 1; i < runtimeConditionsSet.Count; i++) { runtimeConditionsSet[i].startIndex -= condition.numberOfParticles; } runtimeConditionsSet.Remove(condition); }
void Add() { List <InitialCondition> initialConditions = new List <InitialCondition> { new InitialCondition { numberOfParticles = InputFieldToInt(numberOfParticles), center = new float3(InputFieldToFloat(centerX), InputFieldToFloat(centerY), InputFieldToFloat(centerZ)), radius = InputFieldToFloat(radius), shapeElipsoid = new float3(InputFieldToFloat(shapeElipsoidX), InputFieldToFloat(shapeElipsoidY), InputFieldToFloat(shapeElipsoidZ)), turbulenceStrength = InputFieldToFloat(turbulenceStrength), turbulenceElipsoid = new float3(InputFieldToFloat(turbulenceElipsoidX), InputFieldToFloat(turbulenceElipsoidY), InputFieldToFloat(turbulenceElipsoidZ)), angularVelocity = InputFieldToFloat(angularVelocity), seed = InputFieldToInt(seed) } }; Simulation.active.AddInitialConditions(initialConditions); condition = Simulation.active.runtimeConditionsSet[Simulation.active.runtimeConditionsSet.Count - 1]; isRunning = true; addOrRemoveButton.text = "Remove"; }