void TriggerOnHostProcessed(int[] value) { AbilityCentralThreadPool newA = new AbilityCentralThreadPool(value[0]); AbilitiesManager.aData[value[0]].abilties[GetNodeVariable <string>("Ability Name")].CreateAbility(newA, value[1], value[2]); newA.StartThreads(0); HandlePostAbilityCreation(); }
public void InputCallback(int i) { //AbilitiesManager.aData[playerId].abilties[] AbilityCentralThreadPool centralPool = new AbilityCentralThreadPool(playerId); SignalCentralCreation(centralPool); CreateAbility(centralPool,ClientProgram.clientId); if (ClientProgram.hostId == ClientProgram.clientId) { centralPool.StartThreads(0); } else { centralPool.StartThreads(1); } //(NetworkMessageEncoder.encoders[(int)NetworkEncoderTypes.INPUT_SIGNAL] as InputSignalEncoder).SendInputSignal(playerId, abilityId); }
public override void NodeCallback() { base.NodeCallback(); //Debug.Log("Node was callbacked!"); //Debug.LogFormat("NodeID {0}, Thread ID {1}", name, GetNodeThreadId()); if (IsHost()) { AbilityCentralThreadPool inst = GetCentralInst(); AbilityCentralThreadPool newA = new AbilityCentralThreadPool(inst.GetPlayerId()); //AbilitiesManager.aData[inst.GetPlayerId()].abilties[GetNodeVariable<string>("Ability Name")].SignalCentralCreation(newA); AbilitiesManager.aData[inst.GetPlayerId()].abilties[GetNodeVariable <string>("Ability Name")].CreateAbility(newA, ClientProgram.clientId); newA.StartThreads(0); GetCentralInst().UpdateVariableValue <int[]>(GetNodeId(), GetVariableId("Created Ability"), new int[] { inst.GetPlayerId(), ClientProgram.clientId, newA.ReturnCentralId() }, true, false); HandlePostAbilityCreation(); return; } //if(GetNodeVariable<int[]>("Created Ability") != null) //TriggerOnHostProcessed(GetNodeVariable<int[]>("Created Ability")); }