public void ProcessThreads(int threadId) { //ApplyPendingDataToVariable(currLoop); AbilityCentralThreadPool inst = GetCentralInst(); SplitterData sData = threadMap[threadId] as SplitterData; //Debug.LogFormat("Thread id {0} currently {1}/{2}.", threadId, sData.numberOfLoops, inst.ReturnRuntimeParameter<int>(GetNodeId(), 0).v); if (sData.numberOfLoops < GetNodeVariable <int>("Number of Loops") || GetNodeVariable <int>("Number of Loops") == -1) { NodeModifierBaseThread trdInst = new NodeModifierBaseThread(threadId, this, 0); trdInst.SetNodeData(GetNodeId(), inst.GetNodeBranchData(GetNodeId())); int threadToUse = inst.AddNewThread(trdInst); //Debug.LogFormat("Thread {0} is starting a new journey.", threadToUse); //Debug.LogFormat("Thread id {0} has been created.", threadToUse); SetVariable <int>(threadToUse, "Number of Loops"); } else { //Debug.LogFormat("Thread {0} was rmed.", threadId); inst.HandleThreadRemoval(threadId); threadMap.Remove(threadId); } }
public void AddSplitter(SplitContainer splitter, string settingName, int?defaultDistance = null) { var data = new SplitterData() { Splitter = splitter, SettingName = settingName, DefaultDistance = defaultDistance, DesignTimeFontSize = _designTimeFontSize }; _splitters.Add(data); }
public AllData(RelayCannonsData cannons, FansData fans, CrafterData crafters, ItemObjectsData items, MinersData miners, OreData ores, InventoryData invents, UnPackagerData unPacks, PackagerData packs, EggData eggs, SplitterData splits, PumpsData pumps, ZapTowerData zaps, RocketData rock) { cannon = cannons; fan = fans; crafter = crafters; item = items; miner = miners; ore = ores; invent = invents; unPack = unPacks; pack = packs; egg = eggs; split = splits; pump = pumps; zap = zaps; roc = rock; }
public override InstrumentData GetData() { SplitterData data = new SplitterData(); data.deviceType = menuItem.deviceType.Splitter; GetTransformData(data); data.flowDir = flow; data.jackInID = input.transform.GetInstanceID(); data.jackCount = count + 1; data.jackOutID = new int[data.jackCount]; data.jackOutID[0] = output.transform.GetInstanceID(); for (int i = 1; i < data.jackCount; i++) { data.jackOutID[i] = signal.nodes[i - 1].jack.transform.GetInstanceID(); } return(data); }
public override void Load(InstrumentData d) { SplitterData data = d as SplitterData; base.Load(data); input.ID = data.jackInID; setFlow(data.flowDir); flowSwitch.setSwitch(flow); if (data.jackCount < 2) { count = 1; Vector3 pos = stretchSlider.localPosition; pos.x = (count + 1) * -.04f; stretchSlider.localPosition = pos; updateSplitterCount(); output.ID = data.jackOutAID; signal.nodes[0].jack.ID = data.jackOutBID; } else { count = data.jackCount - 1; Vector3 pos = stretchSlider.localPosition; pos.x = (count + 1) * -.04f; stretchSlider.localPosition = pos; updateSplitterCount(); output.ID = data.jackOutID[0]; for (int i = 1; i < data.jackCount; i++) { signal.nodes[i - 1].jack.ID = data.jackOutID[i]; } } }