private void Update() { while (bridgeTasks.Count > 0) { BridgeTask currentTask = bridgeTasks.Dequeue(); switch (currentTask.bridgeParamentType) { case BridgeParamentType.TUnitNormalAttackTUnit: { TUnit dC = currentTask.destinationComponent as TUnit; if (dC.unit.IsDead) { } else { dC.unit.BeingAttack((int)currentTask.parament); } } break; case BridgeParamentType.TUnitPoisonAttackTUnit: { TUnit dC = currentTask.destinationComponent as TUnit; if (dC.unit.IsDead) { } else { StartCoroutine( dC.unit.PositionEffect( bridgeTasks, currentTask.originComponent, (AllowedParaments.PoisonAttackRequestParament)currentTask.parament, currentTask.destinationComponent )); } } break; case BridgeParamentType.Chara_MousePosition_RayMapPathFinding: { rayMapPathFinding.RayMapPathFinding dC = currentTask.destinationComponent as rayMapPathFinding.RayMapPathFinding; dC.Entrance((Vector2)currentTask.parament); } break; default: break; } } }
public void EnqueueTask(BridgeTask inTask) { bridgeTasks.Enqueue(inTask); }